Я хочу добиться чего-то вроде этого:
class MyTest: public ::testing::Test {
public:
const int myConstInt = 23;
}
TEST_F(MyTest, MyTest1) {... use myConstInt ...}
Но, если вспомнить пункт 4 EffectiveCPP, инициализация не гарантируется таким образом, и существует вероятность неопределенного поведения.
Допустим, вышеприведенный Метод 1 .
Я могу придумать два других метода для достижения этой цели:
Метод 2 : список инициализаторов myConstStr с использованием конструктора MyTest.
Метод 3 : сделать это constexpr - поскольку значение устанавливается во время компиляции, я не должен сталкиваться с какими-либо проблемами инициализации во время выполнения.
Каким будет правильный путь? Также «Эффективный CPP» - это относительно старая книга. Применимо ли обсуждение пункта 4 в полной мере?