常量reference_wrapper

时间:2014-08-28 08:29:16

标签: c++ c++11 const reference-wrapper

在下面的代码中,我们的目标是reference_wrapper<int> b,以便a更改时,b也会发生变化,但不应允许相反,{{1} a更改时不应更改。我尝试了两种方法:第7行和第8行。第7行导致编译器抱怨它无法从b转换为int,而第8行编译没有问题,但结果不是我想要的({{1 } const int更改时更改。有什么想法吗?

a

1 个答案:

答案 0 :(得分:6)

可以通过cref检索常量引用。

#include <iostream>
#include <functional>
using namespace std;

int main() {
    int a = 1;
    reference_wrapper<const int> b = cref(a);
    return 0;
}