Безопасно ли использовать `$` в качестве идентификатора в C / C ++? - PullRequest
2 голосов
/ 22 января 2011

Безопасно ли использовать символ $ как часть идентификатора в C / C ++? Вот так

int $a = 10;
struct $b;
class $c;

void $d();

Ответы [ 3 ]

5 голосов
/ 22 января 2011

Нет; в некоторых компиляторах это нестандартное расширение.

4 голосов
/ 22 января 2011

Нет.Стандарт C гарантирует только использование заглавных и строчных букв английского алфавита, цифр, _ и кодов Unicode, указанных с помощью \u (hex-quad) или \U (hex-quad) (hex-quad) (с некоторыми исключениями).Определенные компиляторы могут разрешать другие символы в качестве расширения;однако это крайне непереносимо.(ИСО / МЭК 9899: 1999 (E) 6.4.2.1, 6.4.3) Далее отметим, что метод кодовой точки Unicode в основном бесполезен в идентификаторах, даже если он, строго говоря, разрешен (в C99), как он все еще показываеткак литерал \uXXXX в вашем редакторе.

1 голос
/ 22 января 2011

Это не стандарт, и только Microsoft Visual Studio (из известных мне) даже допускает использование символа $ в идентификаторах.

Так что, если вы хотите, чтобы ваш код был переносимым (или читаемым для других), я бы сказал, нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...