【发布时间】:2021-02-23 16:27:00
【问题描述】:
我的问题很简单:在本地范围内可以正确翻译多少变量?
我必须创建一个从 C++ 到汇编的小型翻译器(用于学习目的)。在翻译过程中,有一个动态的标识符表(变量名,在简单的情况下,我想)。有多少个?
我的意思是,无论如何我的表也是动态的,但我需要创建一个令牌数组,每个令牌都有 2 个数字 - 一个表 ID 和一个表中的记录 ID。所以我想知道,这些 ID 应该是哪种类型 - int、short、long 等?
【问题讨论】:
-
有趣。我相信不同的实现有不同的限制,我不确定标准是否说明了最低数量。
-
本地范围内的变量数量可能不如运行时可用堆栈大小重要(为这些变量提供足够的存储空间)。
-
动态数组作为“本地”变量似乎是不可能的,因为 C++ 没有提供运行时大小的数组。通过新的或通过 std::vector 或其他容器类型间接进行的动态分配正在使用堆而不是“本地”堆栈。
-
克劳斯,你完全误解了我的问题)
-
1.您应该用“@”添加我的名字,以便我收到通知! 2.如果你看到其他用户误解了这个问题,为什么不把它说清楚?伍德很高兴这样做!谢谢!
标签: c++ variables translation