Probabilmente una domanda stupida, ma è una curiosità oziosa per me.Delphi costante espressioni bitwise
Ho un po 'di codice Delphi simile a questo;
const KeyRepeatBit = 30; ... // if bit 30 of lParam is set, mark this message as handled if (Msg.lParam and (1 shl KeyRepeatBit) > 0) then Handled:=true; ...
(lo scopo del codice non è veramente importante)
fa il compilatore a vedere "(1 SHL KeyRepeatBit)" come qualcosa che può essere calcolata al momento della compilazione, e quindi diventa una costante ? In caso contrario, ci sarebbe qualcosa da guadagnare lavorando come numero e sostituendo l'espressione con un numero?
Grazie, è tutto ciò di cui avevo bisogno. :-) – robsoft
Hai dimenticato le costanti scrivibili;) In questo caso l'espressione viene valutata in fase di esecuzione –