Ссылки + forward declaration
От: eremeer  
Дата: 25.09.07 17:34
Оценка:
Сутки добрые всем!
Продолжаю делать трудные шаги в мире C++. Назрело вот:

//p3f.h
struct P3f
{
float x, y, z;
};



//sample.h
struct P3f; //fwd decl

struct Sample
{
Sample();
P3f& pos;
};



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

Sample::Sample(): pos(P3f())
{
}

В VS7.1 подобная инициализация неконстантной ссылки (pos) компилируется, временный и безымянный P3f() существует в течение жизни ссылки. Нестандартное решение, но очень хочется — используя ссылки вместо указателей, иметь также все преимущества forward declaration. Вопрос: как это сделать стандартными методами, изящно и эффективно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.