【问题标题】:how do i initialize a pointer with 3 levels of indirection? c++如何初始化具有 3 级间接的指针? C++
【发布时间】:2017-01-08 13:22:13
【问题描述】:

阴影框是指针,保存值的元素在堆上

diagram

我几乎需要提出实现图表的语句。通过初始化堆上的 3 级间接指向的东西,我感到非常沮丧。

请帮帮我... 这就是我所拥有的

int *c{ new int(18) },
 ***a{ new int**(&c) },
 *e{ new int(22) },
 **b;
b = &e;

    b = nullptr;
e = nullptr;
a = nullptr;
c = nullptr;

delete b, e, a, c;

【问题讨论】:

  • 根据图表,a 不应通过c
  • 如果您为图表中的每个框使用一个命名变量,并且一次坚持一个初始化或分配,也许会更容易理解
  • 请注意,编程领域与餐厅业务完全不同。更多的星星通常不会被认为是“更好”...

标签: pointers dynamic initialization dereference indirection


【解决方案1】:

想通了。

指针 a 的示例。

int*** a;
a = new int**;
*a = new int*;
**a = new int(18); 

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    相关资源
    最近更新 更多