Рассмотрим следующий код:
template <typename TYPE_OF_CELL>
class Map
{
public:
static const size_t MAX_SIZE;
};
Член MAX_SIZE
обозначает максимальный размер карты.
Я хочу понять следующее:
MAX_SIZE
был общим для всех объектов всех типов, которые порождены данным шаблоном?Можно поместить его в базовый класс:
class GenericMap {
public:
static const size_t MAX_SIZE;
}
template <typename TYPE_OF_CELL>
class Map: public GenericMap {
//...
};
Также можно сделать его constexpr
. Технически общим он не станет, но на практике для константы времени компиляции разницы не будет:
template <typename TYPE_OF_CELL>
class Map: public GenericMap {
constexpr static size_t MAX_SIZE=1024;
};
Я бы не стал использовать память для этого:
template <typename TYPE_OF_CELL>
class Map
{
public:
enum { MAX_SIZE = 1024 };
};
Константа MAX_SIZE
известна во время компиляции и есть общая константа для всех специализаций
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть список (допустим, List) экземпляров Video:
Почему C# WPF программа не закрывается из-за потока в отдельном классе?
Помогите с реализацией копии первой страницы целиком прямо в текущем документе на вторуюТ
Сразу извиняюсь за не полную инфу по вопросуНе знаю всех тонкостей библиотеки которая поставляет данные, собственно с ней и проблема при...