doc*_*doc 10 c++ stl const reference vector
它只是我的编译器还是禁止在std :: vector元素中使用cons引用.考虑以下结构:
struct Y
{
const int & x;
Y(const int & p_x):
x(p_x)
{
}
};
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试将这样的对象推送到vector时:
std::vector<Y> yv;
int x = 5;
Y y(x);
yv.push_back(y);
Run Code Online (Sandbox Code Playgroud)
我得到编译器错误:"错误:非静态引用成员`const int&Y :: x',不能使用默认赋值运算符".不应该复制ctor就够了吗?
ste*_*ert 10
你可能想检查一下
std::reference_wrapper
Run Code Online (Sandbox Code Playgroud)
适用于C++ 11
归档时间: |
|
查看次数: |
10788 次 |
最近记录: |