如何解释“const unique_ptr”

时间:2016-04-09 15:39:27

标签: c++ const unique-ptr

const unique_ptr<int> upi{new int{4}};
cout << ++*upi << '\n';

似乎upiconst smart pointer。它指向的int仍然可以修改。如果我想将int声明为const

,该怎么办?
const unqiue_ptr<int> const upi{new int{4}};    //Error: duplicate const

2 个答案:

答案 0 :(得分:6)

据我了解,你想要整数const而不是指针本身,对吧?然后你必须写:

unqiue_ptr<const int> upi{new int{4}}; 

答案 1 :(得分:2)

以防万一有人想知道什么是const unique_ptr: 它是unique_ptr,在其生存期内不会交换拥有的对象。 但是,拥有的对象不是const。因此,皮普尔成语的绝佳候选人