const unique_ptr<int> upi{new int{4}};
cout << ++*upi << '\n';
看起来 upi
是一个 const 智能指针
。它指向的 int
仍然可以被修改。如果我想将 int
声明为 const
,该怎么办?
const unqiue_ptr<int> const upi{new int{4}}; //Error: duplicate const
const unique_ptr<int> upi{new int{4}};
cout << ++*upi << '\n';
看起来 upi
是一个 const 智能指针
。它指向的 int
仍然可以被修改。如果我想将 int
声明为 const
,该怎么办?
const unqiue_ptr<int> const upi{new int{4}}; //Error: duplicate const
unique_ptr
默认情况下不是 const。 - Daniel