Еще одна альтернатива для полноты:
Например, в своем классе «Время» вы могли бы иметь:
class Time{
public:
Time(Hours h, Minutes m, Seconds s);
//...
};
Часы, минуты и секунды являются ограниченными значениями. Например, с помощью (еще не) библиотеки Boost Constrained Value:
typedef bounded_int<unsigned int, 0, 23>::type Hours;
typedef bounded_int<unsigned int, 0, 59>::type Minutes;
typedef bounded_int<unsigned int, 0, 59>::type Seconds;
c:> set RAILS_ENV = monster_island
Если вы запустите set без каких-либо других аргументов, вы увидите установленные переменные среды. Запуск set в консоли установит эту переменную только для этой консоли и не будет сохраняться в сеансах или на других консолях.
Вы также можете установить его постоянно в Панели управления - откройте «Система», выберите «Дополнительно», а затем «Переменные среды» (это может немного отличаться в зависимости от вашей версии Windows).
Конечно, вы можете использовать 'setX' (вместо простого 'set', если вы хотите, чтобы переменная сохранялась между сеансами консоли (а вы не хотите для навигации по различным экранам / вкладкам в Панели управления