【问题标题】:Difference in list declarations列表声明的差异
【发布时间】:2014-04-27 11:22:00
【问题描述】:

以下声明有什么区别?

list<int> myList;
list<int> *myList=new list<int>;

一种声明比另一种更适合特定示例,还是它们只是表达同一件事的不同方式? 另外以下声明有什么区别?

list<int> *myList=new list<int>;
list<int>* myList=new list<int>;

上述声明之一是错误的还是相同的?

【问题讨论】:

标签: c++ list declaration


【解决方案1】:

主要区别是第一个语句是值类型,第二个是指针类型。

第一个语句为堆栈上的list&lt;int&gt; 分配所需的内存,第二个语句为堆栈上的list&lt;int&gt;* 类型的指针分配所需的内存,并为堆上的列表分配和填充所需的内存.

编辑:回答你的第二个问题:

list<int> *myList=new list<int>;

list<int>* myList=new list<int>;

只是陈述同一件事的不同方式。支持和反对在变量名旁边加星号有不同的论据。

【讨论】:

  • 你怎么知道它不是全局变量?
猜你喜欢
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 2015-05-25
  • 2020-06-15
  • 2013-05-23
  • 1970-01-01
相关资源
最近更新 更多