Как объявить шаблон фиксированного размера, чтобы экземпляры могли быть объявлены в теле класса без включения файла типаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как объявить шаблон фиксированного размера, чтобы экземпляры могли быть объявлены в теле класса без включения файла типа

Сообщение Anonymous »

Скажите, что я объявляю в A.H произвольную структуру A с целочисленным членом 'index' и статичным A* членом 'экземплярами': < /p>

Код: Выделить всё

struct A
{
int16_t Index;
static inline A* Instances;
};
< /code>
И я определяю в thandle.h Следующий шаблон, служащий ручкой или как его называют (всегда 2 байта): < /p>
template
struct THandle
{
int16_t Index = -1;
THandle() = default;
THandle(int16_t index) : Index(index) {}
__forceinline T* operator->() const { return &T::Instances[Index]; }
__forceinline explicit operator bool() const { return Index != -1; }
};
< /code>
хранить в произвольном классе B, определенный в B.H: < /p>
class B
{
THandle SomeAInstance;
};
Как я могу сделать так, чтобы мне не приходилось включать как A.H, так и thandle.H в B.H?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... -in-the-bo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»