Показать сообщение отдельно

  #3  
Старый 05.09.2022, 00:00
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Говно одним словом.

Как минимум:

Вместо нормальных эксепшенов юзается самописное говно(спасибо хоть за то, что наследовано от
Код:
std::exception
).

А еще это самописное говно полная хуета. Привет от виртуального деструктора.

В чем проблема была заюзать
Код:
std::system_error?
Поехали дальше:

Вместо
Код:
std::string_view
принимается
Код:
const std::string&
Ну и вишенка на торте - уебанский интерфейс. Есть много вариантов сделать нормально, например как у мапы, или как у жсона, но был выбран самый уебский и систайловый.

В чем проблема сделать

C++:





Код:
RegEdit r
;
if
(
auto
it
=
r
.
find
(
)
;
it
!=
r
.
end
(
)
)
{
std
::
visit
(
*
it
,
[
]
(
const
auto
&
value
)
{
using
T
=
std
::
remove_cv_ref_t

;
if
constexpr
(
std
::
is_same_v

)
{
// ...
}
else
if
constexpr
(
std
::
is_same_v

)
{
// ...
}
else
{
// ...
}
}
)
;
}


Или

C++:





Код:
RegEdit r
;
try
{
auto
value
=
r
.
get

(
"key"
)
;
}
catch
(
const
std
::
runtime_error
&
ec
)
{
// wrong type ...
// ... or key not found
}


Или

C++:





Код:
RegEdit r
;
if
(
auto
it
=
r
.
find
(
)
;
it
!=
r
.
end
(
)
)
{
auto
value
=
it
.
get

(
)
;
}


Короче одним словом:

 
Ответить с цитированием