Анекдот №-40400017
имя ребенка может быть длиннее 8 букв!?"
самое смешное в этом тексте даже в 98 году это выражение "MS-DOS-овский программист" и даже если так то он-то как раз знает что имя переменной в отличие от имени файла может иметь другие ограничения а её содержимое свои собственные ограничения.
B стандарте C++ указано, что реализация должна поддерживать идентификаторы длиной не менее 1024 символов (не обязательное ограничение).
В C++ нет официального ограничения на максимальную длину строковых переменных. Однако есть ограничения, связанные с типом строки (std::string или char *) и реализацией компилятора и системы. Максимальный размер строки в типе std::string определяется функцией std::basic_string::max_size(). Она возвращает максимальное количество символов, которое может содержать строка из-за ограничений системы или реализации библиотеки. В большинстве реализаций этот максимальный размер практически равен объёму памяти, доступному процессу. Чтобы получить выделенный в данный момент размер строки, можно использовать функцию str.capacity().
char *
Длина строки в типе char* (при хранении длины отдельно) не может превышать максимальное значение переменной типа char. На многих платформах это 255.