【发布时间】:2013-10-11 20:56:45
【问题描述】:
我最近遇到了这段代码,但不太明白发生了什么。
auto c = vector<int> {};
向量构造函数返回什么?
然后这段代码:
c = vector<int> {1,2,3,4,5 };
第二个c 与初始c 是否位于不同的内存位置?
c 重新初始化时是否调用了析构函数?
我搜索了互联网,但找不到上述代码的任何示例。
上面和上面有什么不同
vector<int> c {};
提前感谢您的帮助。
【问题讨论】:
-
简答:那是 C++11
-
请使用正确的格式,否则尖括号中的文字将无法正确显示
-
至于
auto c = vector<int> {};和vector<int> c{};的区别,参见Herb Sutter的Almost Always Auto风格。 -
你以前遇到过 {} 和初始化列表吗?