Not*_*666 5 c++ variables translation
我的问题很简单:有多少变量可以在本地范围内正确翻译?
我必须创建一个从 C++ 到汇编的小型翻译器(用于学习目的)。在翻译过程中,有一个动态的标识符表(我想是变量名,在简单的情况下)。可以有多少?
我的意思是,我的表无论如何也是动态的,但我需要创建一个令牌数组,其中每个都有 2 个数字 - 表中的表 ID 和记录 ID。所以,我想知道,这类型应这些ID是- ,int,short,long等?
eer*_*ika 10
局部范围内可以有多少个变量
C++ 标准没有指定确切的最大数量。
它确实有以下建议(引自最新标准草案):
[限制]
因为计算机是有限的,所以 C++ 实现不可避免地受限于它们可以成功处理的程序的大小。每个实现都应记录那些已知的限制。该文档可能会引用存在的固定限制,说明如何根据可用资源计算可变限制,或者说固定限制不存在或未知。
这些限制可能会限制数量,包括以下描述的数量或其他数量。建议将每个数量后面的括号数字作为该数量的最小值。然而,这些数量只是指导方针,并不能确定合规性。
- 在一个块中声明的具有块作用域的标识符 ([basic.scope.block]) [1'024]。
有人为此写了一个测试,常用的编译器似乎至少支持 8k:https : //github.com/fritzone/cpp-stresstest