我试图确定哪些语句可以在C++中分配一个变量。到现在为止,我已经想出:C++中的存储分配语句
- 声明语句:像
int a;
与各种存储,范围符(auto
,static
,global
)语句。 - 表达式语句:
存储上堆可以使用malloc
,new
等虽然在技术上为pointer
存储在其声明中被分配来分配。我在这里计算所有这种情况。- 赋值expr的右边是
malloc/new/calloc
或函数调用,其中被调用的函数可能会分配存储。 - 函数调用expr,该变量通过引用传递,并在被调用函数中分配存储。
- 赋值expr的右边是
我无法想到的任何其他方式,但我有一个暗示,有可能是更多的。我希望人们能够了解我所要求的内容,即使这个问题可能不是正确的。 :) 欢迎任何输入。
'malloc'或'calloc'。 –
@Jerry:对,malloc或其中一种口味。不同的系统有不同的别名。 –
感谢您的回复@KirillKobelev。我实际上正在编写一个编译器通行证,收集所有'分配给它的一个用途的变量。该通道执行上下文不敏感,过程间,向后“到达分配”数据流分析。因此我想查看所有可能分配变量的语句。我现在忽略模板,例外和临时变量,以保持简单。感谢您指出这些! – Nilesh