2
int a = 5;
int **b = new int*;
*b = &a;
**b = a + 6;
int *c = new int(**b);
我知道b是一个指针,它指向一个指针,它将在堆上的运行时分配。 new int
返回一个指针,但什么是new int(**b)
?c指向哪里? 这个复杂的声明让我疯狂。C++中的动态内存
int a = 5;
int **b = new int*;
*b = &a;
**b = a + 6;
int *c = new int(**b);
我知道b是一个指针,它指向一个指针,它将在堆上的运行时分配。 new int
返回一个指针,但什么是new int(**b)
?c指向哪里? 这个复杂的声明让我疯狂。C++中的动态内存
它等同于:
int *c = new int(11);
是c
点被初始化为11
,这是**b
值的值。
只是想输入相同的数字:D – 2014-09-30 17:39:42
除了在这种情况下是11,而不是42. – 2014-09-30 17:40:08
是的,我说*和*类似,不等于*,在例子中使用'42'。 – 2014-09-30 17:41:05