да, щас поищу, потерял ссылку
видимо, я видел вот этот http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3597.html но он по ходу не был принят. причины мне пока неизвестны
Кстати. Я понял, почему в constexpr функциях нельзя делать static constexpr переменные. Потому что если значение такой переменной зависит от параметра, то constexpr функция может возвращать разные значения для одних и тех же вызовов, если они будут сделаны в разных порядках. Например: constexpr int f(int x) { static constexpr int i = x; return i; } Если вызвать сначала f(0) затем f(1), то получим 0, 0. А если сначала f(1), а потом f(0), то получим 1, 1. Что довольно неожиданно. Неудобно, что это запрещает делать static constexpr переменные не зависящие от параметров, но тут вроде бы логично, что разница довольно тонкая.
Обсуждают сегодня