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