sou*_*ula 4 c++ memory arrays pointers scope
所以,我在C++书中看到的基本文本输入函数的上下文中提出这个问题:
char *getString()
{
char temp[80];
cin >> temp;
char * pn = new char[strlen(temp + 1)];
strcpy(pn, temp);
return pn;
}
Run Code Online (Sandbox Code Playgroud)
因此temp声明了一个包含80个字符的数组,这是一个自动变量,其内存将在getString()返回时被释放.有人建议,如果temp由于某种原因返回,它在函数之外的使用将不可靠,因为一旦函数完成就释放了内存.但是既然我也在pn相同的语境中宣称,为什么它的记忆也不会被丢弃?
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |