如何解释"const unique_ptr"
How to interpret a "const unique_ptr"
const unique_ptr<int> upi{new int{4}};
cout << ++*upi << 'n';
看来upi
是一个const smart pointer
.它指向的int
仍然可以修改。如果我想将int
声明为 const
怎么办?
const unqiue_ptr<int> const upi{new int{4}}; //Error: duplicate const
据我了解,你想让整数const
而不是指针本身,对吧?然后你必须写:
unqiue_ptr<const int> upi{new int{4}};
以防
万一有人想知道常量unique_ptr是什么:这是一个unique_ptr,在其生命周期内不会交换拥有的对象。但是,拥有的对象不是常量。 因此是痘痘成语的绝佳候选人