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