如何解读 "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}};
以防万一有人想知道 const unique_ptr 是什么:
它是一个 unique_ptr ,在其生命周期内不会交换拥有的对象。
但是,拥有的对象不是 const。因此,Pimpl 成语的绝佳候选者
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}};
以防万一有人想知道 const unique_ptr 是什么: 它是一个 unique_ptr ,在其生命周期内不会交换拥有的对象。 但是,拥有的对象不是 const。因此,Pimpl 成语的绝佳候选者