我看到有些人倾向于使用空的 {} 来初始化向量,我想知道这与直接使用默认构造函数初始化是否有不同?
例如:
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> vec;
vector<int> vec2 {};
cout << sizeof(vec) << " " << sizeof(vec2) << endl; // 24 24
cout << vec.size() << " " << vec2.size() << endl; // 0 0
}
Run Code Online (Sandbox Code Playgroud)
我检查了它的汇编代码,它表明使用空的 {} 初始化向量会生成更多代码(https://godbolt.org/z/2BAWU_)。
我对 C++ 语言很陌生,如果有人能帮助我,我将不胜感激。
| 归档时间: |
|
| 查看次数: |
629 次 |
| 最近记录: |