Каждый настоящий C++-компилятор ограничен реальными, физическими ограничениями и законами природы. Стандарт C++ подходит для этого, указав «Пределы реализации» в Приложении B и требуя, чтобы реализации документировали их фактические пределы. Стандарт также рекомендует минимальное значение для каждого такого предела.
Предел, который вы ищете, вероятно, «Аргументы в одном вызове функции», рекомендуемый минимальный предел которого составляет 256 в C++ 14. Обратитесь к документации вашего компилятора за фактическим пределом.
После того, как вы проверили, вам безопасно использовать переменные аргументы до предела вашей персональной платформы, и разумно отправлять переносимый код, который остается в пределах рекомендуемых предельных значений стандарта. (Пользователи, чьи компиляторы не соблюдают рекомендованный минимум, вероятно, будут знать об этом факте и внимательно следите.)
По этой логике небезопасно использовать указатель, потому что это может не указывать на действительный объект. –
Что такое cstdarg.h? Вы имеете в виду ''? –
_ «Если я даю неимоверно большое количество аргументов stackoverflows и pc crashes.Это правильно? Если это так, разве небезопасно для кого-либо использовать cstdarg?» _ Это полный нелогичный. Как вы пришли к такому выводу? Например, если вы будете ездить на 6999999 MPH, тогда вы рухнете, и люди умрут; делает ли это все автомобили «небезопасными для кого-либо использовать»? Нет .. –