Ich habe C++-Code wie den folgenden gesehen und verwendet:
int myFourcc = 'ABCD';
Es funktioniert in neueren Versionen von GCC, nicht sicher, wie neu. Ist diese Funktion im Standard enthalten? Wie wird sie genannt?
Ich hatte Schwierigkeiten, im Internet danach zu suchen...
EDIT:
Ich habe auch diese Information für zukünftige Beobachter gefunden:
Der Compiler bewertet eine mehrstellige Zeichenkonstante zeichenweise, indem er den vorherigen Wert um die Anzahl der Bits pro Zielzeichen nach links verschiebt und dann das Bitmuster des neuen Zeichens, das auf die Breite eines Zielzeichens abgeschnitten ist, einbindet. Das endgültige Bitmuster hat den Typ int und ist daher vorzeichenbehaftet, unabhängig davon, ob einzelne Zeichen vorzeichenbehaftet sind oder nicht (eine kleine Änderung gegenüber den Versionen 3.1 und früher des GCC). Wenn die Konstante mehr Zeichen enthält, als in den Ziel-Int passen würden, gibt der Compiler eine Warnung aus, und die überschüssigen führenden Zeichen werden ignoriert.
Zum Beispiel würde 'ab' für ein Ziel mit einem 8-Bit-Zeichen wie folgt interpretiert werden
(int) ((unsigned char) 'a' * 256 + (unsigned char) 'b')', and '\234a' as
(int) ((unsigned char) ' \234 ' * 256 + (unsigned char) 'a')'.