Ответ 1
- Microsoft С++: 2048 символов
- Intel С++: 2048 символов
- g++: нет ограничений, на что ответили в этом вопросе: существует ли ограничение длины на имена переменных g++?
Я не помню, чтобы стандарт говорил что-то о максимальной длине для идентификаторов, поэтому в теории они могут быть длинными. В реальной жизни эти имена могут быть ограничены, по крайней мере, реализацией компилятора и компоновщика.
Хотя это должно работать на всех системах
int a;
этот фрагмент
#!/usr/bin/perl
print "int" . "b" x 2**16 . ";";
создает объявление, которое дает undefined ссылку на std::
somethings с ld
при компиляции/связывании (с использованием gcc/mingw).
Итак, каковы пределы размера для идентификатора в разных системах?
Приложение B стандарта С++ говорит, что реализация должна поддерживать идентификаторы длиной не менее 1024 символов, но это необязательно.