如何解释"const unique_ptr"

Mil*_* Lu 1 c++ const unique-ptr

const unique_ptr<int> upi{new int{4}};
cout << ++*upi << '\n';
Run Code Online (Sandbox Code Playgroud)

似乎upi是一个const smart pointer.在int这点仍然可以修改.如果我想要什么申报intconst

const unqiue_ptr<int> const upi{new int{4}};    //Error: duplicate const
Run Code Online (Sandbox Code Playgroud)

Moj*_*oko 9

以防万一有人想知道 const unique_ptr 是什么:它是一个 unique_ptr,它不会在其生命周期内交换拥有的对象。然而,拥有的对象不是常量。因此,Pimpl Iidiom 的绝佳候选者


ton*_*ter 6

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

unqiue_ptr<const int> upi{new int{4}}; 
Run Code Online (Sandbox Code Playgroud)