AB
Size: a a a
AB
GF
data()
сделаны так:const T* data() const;
T* data();
AS
AB
AS
class Foo {
Boo* ownedData;
public:
const Boo& getData() const { return *ownedData; }
Boo& getData() { return *ownedData; }
};
AB
AS
AS
std::unique_ptr
или std::shared_ptr
AS
AB
AB
AS
const unique_ptr<T>
означает запрет перемещения или ресета для unique_ptr'а а, а не защиту его данных. Но зато unique_ptr<T> можно спокойно неявно кастовать к unique_ptr<const T>AS
AB
АК
AS
SA
D
SA
D