Re: Получить неявно ссылку на объект контейнер
От: remark Россия http://www.1024cores.net/
Дата: 22.08.06 20:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А> Интересует, существует ли возможность как-нибудь ЭЛЕГАНТНО и без сложных извратов получить в поле какого-нить класса ссылку на объект который содержит это поле. Другими словами:



Можно, если не забыли откуда ноги растут:

А>

class Base
{
public:
    Base* parent;
};

class A : public Base
{
};

class B : public Base
{
public:
    A member1;
    A member2;
    A member3;
    //...
    A memberN;

    B()
    {
        std::fill_n((Base**)this, sizeof(*this)/sizeof(Base*), (Base*)this);
    }
};





Ну а если серьёзно. Разьве просто передать указатель это не "ЭЛЕГАНТНО и без сложных извратов"? Я уверяю, что любое другое решение будет более сложным.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.