g ++ unicode имя переменной

Я пытаюсь использовать unicode имена переменной в g ++.

Это, кажется, не работает.

Делает g ++ не, поддерживают unicode имена переменной... или есть ли некоторое подмножество unicode (от которого я не тестирую в).

Спасибо!

8
задан anon 21 April 2010 в 09:43
поделиться

1 ответ

Вы должны указать флаг -fextended-identifiers при компиляции, вы также должны использовать \ uXXXX или \ uXXXXXXXX для Unicode (по крайней мере, в gcc это unicode)

Идентификаторы (имена переменных / классов и т. д.) в g ++ не может быть utf-8 / utf-16 или любой другой кодировки, они должны быть:

identifier:
  nondigit
  identifier nondigit
  identifier digit

нецифровое значение -

nondigit: one of
  universalcharactername
  _ a b c d e f g h i j k l m n o p q r s t u v w x y z
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

, а универсальное имя символа -

universalcharactername:
  \UXXXXXXXX
  \uXXXX

Таким образом, если вы сохраните исходный файл как UTF-8, у вас не может быть такой переменной, как, например:

int høyde = 10;

, ее нужно было записать как:

int h\u00F8yde = 10;

(что, по-моему, превзошло бы всю цель - так что просто придерживайтесь az)

{{ 1}}
9
ответ дан 5 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: