nil*_*ll9 1 c++ memory new-operator
为什么这不起作用:
小片1:
int *a = new int[6]; (*a)[0]=1;
这是有效的
摘录2:
int myint = 0; int *ptr = &myint; *ptr=1;
我知道如果我a[0]=1在代码片段1中使用它会起作用.但对我来说没有任何意义,对我而言,它看起来a[0]=1意味着:将值1置于地址[0].换句话说,我把值作为记忆.相反,(*a)[0]=1对我使用哪种方法更有意义:将值1放在a [0]指向的值字段中.
谁能形容这种差异?
Cog*_*eel 11
代码片段1应该是:
int *a = new int[6];
a[0]=1;
Run Code Online (Sandbox Code Playgroud)
这是因为a[0]相当于*(a+0).
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |