Open apolukhin opened 3 years ago
none, 20 декабря 2016, 19:17 чем static constexpr auto npos = std::string::npos; не устроил?
В C++ using
хорошо работает для enum, но не работает для значений.
struct struct_v { static constexpr int value = 42; };
enum class enum_v { value = 42 };
void test() {
using enum_v::value;
//using struct_v::value; // compilie time error
}
Кажется что тут есть что подправить и стоит сделать поведение симметричным с enum
Перенос предложения: голоса +1, -8 Aвтор идеи: dix75
Часто необходимо использовать статические данные в определенном классе или методе и использование полного имени иногда избыточно и не всегда красиво
В качестве примера рассмотрим std::string::npos.
В кладовой программистов есть несколько вариантов решить данную задачу, очевидные(не все) приведены в примере.
Хотелось бы более простого решения.
Известно, что using используется для типов, using namespace - для пространств имен. Возможно, using variable будет приемлемо для данного использования.
P.S. Конечно решить данную задачу можно и подручными средствами, но это только пример, а в реальном коде ситуация в разы интереснее.