Сообщение Re[4]: про многословность от 04.02.2025 14:30
Изменено 04.02.2025 14:33 rg45
Re[4]: про многословность
Здравствуйте, netch80, Вы писали:
O>> if (r != 0) {
O>> return (r < 0) ? std::strong_ordering::less : std::strong_ordering::greater;
O>> }
O>> return std::strong_ordering::equal;
N>namespace sso { using namespace std::strong_ordering; }
N>return (r < 0) ? sso::less : sso::greater;
N>Слегка калечно (вообще именно в таких деталях система импорта Python с его import foo as bar или from moo import foo as bar — самая прямая и удобная), но работает же.
Во-первых, std::strong ordering — это класс, а не пространство имен. Поэтому просто: using sso = std::strong_ordering.
А если бы и было пространство имен, всё равно не стоило так извращаться. Алиасы для пространств имен тоже можно использовать: namespace fs = std::filesystem;
Ну и в-третьих, using-директивы (aka using namespace) нужно использовать очень осторожно. В идеале не использовать вообще.
O>> if (r != 0) {
O>> return (r < 0) ? std::strong_ordering::less : std::strong_ordering::greater;
O>> }
O>> return std::strong_ordering::equal;
N>namespace sso { using namespace std::strong_ordering; }
N>return (r < 0) ? sso::less : sso::greater;
N>Слегка калечно (вообще именно в таких деталях система импорта Python с его import foo as bar или from moo import foo as bar — самая прямая и удобная), но работает же.
Во-первых, std::strong ordering — это класс, а не пространство имен. Поэтому просто: using sso = std::strong_ordering.
А если бы и было пространство имен, всё равно не стоило так извращаться. Алиасы для пространств имен тоже можно использовать: namespace fs = std::filesystem;
Ну и в-третьих, using-директивы (aka using namespace) нужно использовать очень осторожно. В идеале не использовать вообще.
Re[4]: про многословность
Здравствуйте, netch80, Вы писали:
O>> if (r != 0) {
O>> return (r < 0) ? std::strong_ordering::less : std::strong_ordering::greater;
O>> }
O>> return std::strong_ordering::equal;
N>namespace sso { using namespace std::strong_ordering; }
N>return (r < 0) ? sso::less : sso::greater;
N>Слегка калечно (вообще именно в таких деталях система импорта Python с его import foo as bar или from moo import foo as bar — самая прямая и удобная), но работает же.
Во-первых, std::strong ordering — это класс, а не пространство имен. Поэтому просто: using sso = std::strong_ordering.
А если бы и было пространство имен, всё равно не стоило так извращаться. Алиасы для пространств имен тоже можно использовать: namespace fs = std::filesystem;
Ну и в-третьих, using-директивы (aka using namespace) нужно использовать очень осторожно. В идеале не использовать вообще. Ибо всё это бомбы отложенного действия.
O>> if (r != 0) {
O>> return (r < 0) ? std::strong_ordering::less : std::strong_ordering::greater;
O>> }
O>> return std::strong_ordering::equal;
N>namespace sso { using namespace std::strong_ordering; }
N>return (r < 0) ? sso::less : sso::greater;
N>Слегка калечно (вообще именно в таких деталях система импорта Python с его import foo as bar или from moo import foo as bar — самая прямая и удобная), но работает же.
Во-первых, std::strong ordering — это класс, а не пространство имен. Поэтому просто: using sso = std::strong_ordering.
А если бы и было пространство имен, всё равно не стоило так извращаться. Алиасы для пространств имен тоже можно использовать: namespace fs = std::filesystem;
Ну и в-третьих, using-директивы (aka using namespace) нужно использовать очень осторожно. В идеале не использовать вообще. Ибо всё это бомбы отложенного действия.