使用对变量和值的引用初始化c ++数组

时间:2016-12-05 20:40:16

标签: c++11

我在一些源代码中看到类似这样的内容

for(int i = 0; i < NUM; i++){
   count[i] = new int;
   *count[i] = 0;
}

并且想知道重点是什么而不仅仅是:

count[i] = 0;

1 个答案:

答案 0 :(得分:1)

  

并且想知道有什么意义而不是只有count[i] = 0;

好吧,将指针初始化为零与将指向值初始化为零有不同的含义。

取消引用指向有效对象的指针即可,并返回该对象的值。取消引用值为零的指针(即空指针)具有未定义的行为。

您可能想知道,为什么要使用数组指针来动态分配整数,而不是整数数组。你是对的,因为它很少是理性的选择。但是,此代码段并未显示出任何理由。如果可能,您可以通过询问编写代码的人来查明。