Предположим, у меня есть несколько вложенных классов под названием A, B и C. Объекты типа C содержат член типа B. Объекты типа B содержат член типа A.
Объект типа C создается в куче. Этот объект класса и его подобъекты едины, поэтому все оказывается в куче.
В реализации для C и B есть ли какие-либо преимущества явно удерживать указатели? Что-то вроде кода ниже?
С одной стороны, следовать цепочке указателей для получения доступа к данным кажется неэффективным. С другой стороны, возможно, для внутренних классов «безопаснее» хранить указатели, если не гарантируется, что внешние классы будут объявлены в куче? Есть что-нибудь еще?
#include
#include // std::unique_ptr
class A;
class B;
class C;
class A {
public:
A() {
std::cout
Подробнее здесь: https://stackoverflow.com/questions/790 ... ed-classes