我试过c ++代码
double* p;
*p = 123.0;
Run Code Online (Sandbox Code Playgroud)
在vs 2010中,它因为指针尚未初始化而中断.但我记得我已经在博客中读过(忘了哪一个...),123.0是一个const值,所以p现在指向一个const值,你可以使用*p得到123.0但是你不能改变它的值.哪一个是真相?谢谢!
p不指向任何地方,你告诉它存储价值123.0.它应该去哪里?这是未定义的行为.
如果你希望它指向一个内存地址中的常量值,那就试试吧
static const double d = 123.0;
const double* p = &d;
Run Code Online (Sandbox Code Playgroud)
没有你想要做的事情的背景,我不能建议更多.
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |