【发布时间】:2017-10-25 09:36:31
【问题描述】:
如何将 const 引用或地址存储到 const someType& 对象?
#include<iostream>
#include<list>
const int &foo( int& a)
{
return a;
}
int main()
{
int a = 5;
const int& p = foo(a);
std::list<const int&> _list;
_list.push_back(p);
return 0;
}
【问题讨论】:
-
您面临的具体问题是什么?
-
使用标准容器时 - 容器必须能够移动对象。这意味着您不能拥有引用容器。常量或其他。
-
存储的对象要满足
Assignable的要求。由于引用仅在声明时初始化一次,因此您可以将它们放在任何容器中。 -
如果您需要容器中的类引用对象,
std::reference_wrapper可能适合您
标签: c++ list reference constants