push_back对非const元素的向量按预期工作:
std::vector<int> foo;
int bar = 0;
foo.push_back(bar);
Run Code Online (Sandbox Code Playgroud)
但为什么以下不可能呢?
std::vector<const int> foo;
const int bar = 0;
foo.push_back(bar);
Run Code Online (Sandbox Code Playgroud)
更准确地说,为什么创建foo对象可能但不要求push_back它呢?