Lite_stream
@Lite_stream

Можно ли обратиться к статическому полю шаблона класса без инстанцирования шаблона?

Есть ли в С++ синтаксическая конструкция, чтобы извне доступиться до публичной статической константы у шаблона класса?

Пример:
template <typename T, int32_t maxSize>
class CircularBuffer
{
private:

 /* Some code */

public:
static const int32_t  MEMBER_TO_BE_ACCESSIBLE_OUTSIDE = 0;
};


Потому, что писать что-то вроде
CircularBuffer<int, 0>::MEMBER_TO_BE_ACCESSIBLE_OUTSIDE
, добавляя "фиктивные" шаблонные параметры как-то слишком костыльно.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
@sergiodev
class CircularBufferBase
{
public:
    static const int32_t MEMBER_TO_BE_ACCESSIBLE_OUTSIDE = 0;
};

template <typename T, int32_t maxSize>
class CircularBuffer : public CircularBufferBase {
    ...
}


CircularBufferBase::MEMBER_TO_BE_ACCESSIBLE_OUTSIDE
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы