我试图确定可以在 C++ 中为变量分配存储的语句。到目前为止,我想出了:
- 声明语句:
int a;
具有各种存储、范围说明符 (auto
,static
,global
) 的语句。 - 表达式语句:
可以使用 等来分配堆上malloc
的new
存储。从技术上讲,尽管 的存储pointer
是在其声明中分配的。我在这里计算所有此类情况。- 右手边的赋值 expr
malloc/new/calloc
或被调用函数可能分配存储的函数调用。 - 函数调用 expr,变量通过引用传递,并在被调用函数中分配存储。
- 右手边的赋值 expr
我想不出任何其他方法,但我有一种暗示可能还有更多。我希望人们明白我的要求,即使这个问题的措辞可能不正确。:) 欢迎任何意见。