Здравствуйте, 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))
//{
//}