Сообщение Re: Упоротость С++ от 16.08.2023 13:38
Изменено 16.08.2023 14:20 B0FEE664
Re: Упоротость С++
Здравствуйте, dmitry_npi, Вы писали:
S>>Вот они сделали, что std::strong_ordering::equal и прочие нельзя было запихнуть в switch case.
S>>Но это не проблема, пишем враппер!
_>/*много устрашающего кода*/
_>Иногда я думаю, не зря ли я ушёл в C# из C++, всё-таки проприетарщина, а у нас импортозамещение, санкции и всё такое... Но как гляну на это, и думаю — нет, не зря. Плюсовики, вы там совсем свихнулись, что ли? Нельзя это написать как-то попроще? Зачем это вообще? Как потом это разбирать пришедшему на проект?
Конечно можно написать проще:
Просто автор хотел загорячиться. Зачем — это к автору.
S>>Вот они сделали, что std::strong_ordering::equal и прочие нельзя было запихнуть в switch case.
S>>Но это не проблема, пишем враппер!
_>/*много устрашающего кода*/
_>Иногда я думаю, не зря ли я ушёл в C# из C++, всё-таки проприетарщина, а у нас импортозамещение, санкции и всё такое... Но как гляну на это, и думаю — нет, не зря. Плюсовики, вы там совсем свихнулись, что ли? Нельзя это написать как-то попроще? Зачем это вообще? Как потом это разбирать пришедшему на проект?
Конечно можно написать проще:
#include <iostream>
int main()
{
const auto cmp = 0./0. <=> 1. ;
const auto result =
[&]
{
if ( cmp == cmp.less ) return "less";
if ( cmp == cmp.greater ) return "greater";
if ( cmp == cmp.unordered ) return "unordered";
return "equivalent";
}();
std::cout << result << std::endl;
return 0;
}
Просто автор хотел загорячиться. Зачем — это к автору.
Re: Упоротость С++
Здравствуйте, dmitry_npi, Вы писали:
S>>Вот они сделали, что std::strong_ordering::equal и прочие нельзя было запихнуть в switch case.
S>>Но это не проблема, пишем враппер!
_>/*много устрашающего кода*/
_>Иногда я думаю, не зря ли я ушёл в C# из C++, всё-таки проприетарщина, а у нас импортозамещение, санкции и всё такое... Но как гляну на это, и думаю — нет, не зря. Плюсовики, вы там совсем свихнулись, что ли? Нельзя это написать как-то попроще? Зачем это вообще? Как потом это разбирать пришедшему на проект?
Конечно можно написать проще:
Просто автор хотел заморочиться. Зачем — это к автору.
S>>Вот они сделали, что std::strong_ordering::equal и прочие нельзя было запихнуть в switch case.
S>>Но это не проблема, пишем враппер!
_>/*много устрашающего кода*/
_>Иногда я думаю, не зря ли я ушёл в C# из C++, всё-таки проприетарщина, а у нас импортозамещение, санкции и всё такое... Но как гляну на это, и думаю — нет, не зря. Плюсовики, вы там совсем свихнулись, что ли? Нельзя это написать как-то попроще? Зачем это вообще? Как потом это разбирать пришедшему на проект?
Конечно можно написать проще:
#include <iostream>
int main()
{
const auto cmp = 0./0. <=> 1. ;
const auto result =
[&]
{
if ( cmp == cmp.less ) return "less";
if ( cmp == cmp.greater ) return "greater";
if ( cmp == cmp.unordered ) return "unordered";
return "equivalent";
}();
std::cout << result << std::endl;
return 0;
}
Просто автор хотел заморочиться. Зачем — это к автору.