Я пытаюсь выучить C ++, делая все "способом C ++". Я пишу программу, в которой у меня есть все эти известные значения (во время компиляции). Вот моя проблема:
В моем конструкторе я хочу проверить, является ли переданное значение (int) одним из 2,4,8,16 или 32, и в противном случае выдать ошибку. Я думаю о:
- создание массива в стиле C или целых чисел
- создавая вектор вручную и проверяя его, проверяя
- составление списка? Хотя я никогда не использовал списки раньше.
Что я действительно хочу сделать, так это создать константный вектор в отдельном заголовочном файле, хотя это кажется невозможным.
Какой самый элегантный способ сделать эту проверку?
Кроме того, есть ли способ сделать вектор с заданным числом известных значений (во время компиляции) в заголовке? Если я могу сделать const std::string a_str("a string");
, я не понимаю, почему я не могу использовать подобную технику для векторов.