我现在对这段代码感到困惑.
int flag = 1;
struct {
char * data;
}
neco;
if(flag) {
neco.data = "index.html";
}
// insert code here...
std::cout << neco.data;
}
Run Code Online (Sandbox Code Playgroud)
在"if"块之后是否安全打印neco.data,或者在"if"块结束后如果块被"清理",则在内部分配内存?
是否安全在"if"块之后打印neco.data,或者如果在"if"块结束后块被"清理",则内存位于内部?
字符串文字永远不会超出范围.该计划本身就是他们的范围.
正如我们在评论中提到的2012年,你需要确保neco.data被初始化或者如果没有采用那个分支则永远不会使用它.
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |