在下面的代码中,目标是创建一个reference_wrapper<int> b,以便当a更改时,b也会发生变化,但是,不应该允许相反的情况--即当b更改时,a不应该更改。我尝试了两种方法:第7行和第8行。第7行导致编译器抱怨它不能从int转换为const int,而第8行编译时没有问题,但结果不是我想要的(当b更改时,a发生了变化)。有什么想法吗?
1. #include <iostream>
2. #include <functional>
3. using namespace std;
4.
5. int main() {
6. int a = 1;
7. //reference_wrapper<const int> b = ref(a);
8. //const reference_wrapper<int> b = ref(a);
9. return 0;
10. }发布于 2014-08-28 08:34:40
cref可以检索一个常量引用。
#include <iostream>
#include <functional>
using namespace std;
int main() {
int a = 1;
reference_wrapper<const int> b = cref(a);
return 0;
}https://stackoverflow.com/questions/25544219
复制相似问题