Re[4]: Ссылки + forward declaration
От: eremeer  
Дата: 26.09.07 19:01
Оценка: :)
Здравствуйте, AstroMan, Вы писали:

AM>Я бы сам руки оторвал (и не только руки), если б увидел в проекте. Но вопрос был чисто теоретический. Ну хотелось человеку ссылок и forwarda


пока есть руки, могу написать такое: (тоже теоретически)
//sample.h
struct P3f;
struct P3fForward
{
  //здесь копия данных P3f
};

//STATIC_ASSERT(sizeof(P3f) <= sizeof(P3Forward));

struct Sample
{
public:
  Sample();

private:
  P3fForward posForward;
  P3f& pos;
};

//sample.cpp
#include "sample.h"
#include "p3f.h"

Sample::Sample(): pos(reinterpret_cast<P3f&>(posForward))
{
   pos.SetZero();
}
//или даже скопировав в P3fForward соответствующий конструктор
//Sample::Sample(): posForward(0, 0, 0), pos(reinterpret_cast<P3f&>(posForward))
//{
//}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.