用C++构造向量

Smi*_*thy 4 c++ vector c++11

我最近遇到了这个代码,但不太明白发生了什么.

auto c = vector<int> {};
Run Code Online (Sandbox Code Playgroud)

返回的向量构造函数是什么?

然后这段代码:

c = vector<int> {1,2,3,4,5 };
Run Code Online (Sandbox Code Playgroud)

第二个c是与初始位置不同的内存位置c吗?

c重新初始化时是否会调用析构函数?

我搜索了互联网,但找不到上述代码的任何示例.

以上是如何不同的

vector<int> c {};
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

eln*_*gno 5

"正如jrd1所说,它是一个C++ 11特性.

关键字auto基本上意味着让编译器"猜测"变量的类型.

所以c是定期的vector<int>.

  • "猜猜"有点苛刻 - 如果类型不能完全推断,它将无法编译:) (3认同)