Рассмотрим следующий код:
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
известна во время компиляции и есть общая константа для всех специализаций
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть список (допустим, List) экземпляров Video:
Почему C# WPF программа не закрывается из-за потока в отдельном классе?
Помогите с реализацией копии первой страницы целиком прямо в текущем документе на вторуюТ
Сразу извиняюсь за не полную инфу по вопросуНе знаю всех тонкостей библиотеки которая поставляет данные, собственно с ней и проблема при...