2014-09-30 39 views
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++中的动态内存

回答

3

它等同于:

int *c = new int(11); 

c点被初始化为11,这是**b值的值。

+0

只是想输入相同的数字:D – 2014-09-30 17:39:42

+1

除了在这种情况下是11,而不是42. – 2014-09-30 17:40:08

+1

是的,我说*和*类似,不等于*,在例子中使用'42'。 – 2014-09-30 17:41:05