Я недавно начал использовать больше возможностей C++ 11 в своем коде, и мне было интересно, имеет ли место ключевое слово constexpr
, независимо от того, находится ли оно до или после типа константы.Размещение ключевого слова C++ constexpr
Стиль 1:
constexpr int FOO = 1;
constexpr auto BAR = "bar";
Стиль 2:
int constexpr FOO = 1;
auto constexpr BAR = "bar";
Стиль 2 путь я предпочитаю, чтобы поместить const
ключевое слово и размещение constexpr
таким же образом принесет некоторую последовательность к коду. Тем не менее, это считается плохой практикой или что-то еще не так со стилем 2, потому что я действительно не вижу, чтобы кто-то писал это так.
Только о формулировках. «Все они могут быть перемещены вокруг», можно понимать как «_it не имеет значения, где вы помещаете' const'_ », что не так, поскольку оно меняет значение. – AlexD
@AlexD, Правда, я бы немного упростил его. Главное было то, что они могут появляться в любом порядке до или после «базового типа» (например, «int») до тех пор, пока что-то вроде '*', где грамматика начинает становиться более конкретным. Грамматика декларации не является одной из простейших частей. – chris
Несомненно. Как я уже сказал, мое замечание было всего лишь формулировкой :-). – AlexD