
05.09.2022, 10:42
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от kin4stat
Говно одним словом.
Как минимум:
Вместо нормальных эксепшенов юзается самописное говно(спасибо хоть за то, что наследовано от
).
А еще это самописное говно полная хуета. Привет от виртуального деструктора.
В чем проблема была заюзать
Поехали дальше:
Вместо
принимается
Ну и вишенка на торте - уебанский интерфейс. Есть много вариантов сделать нормально, например как у мапы, или как у жсона, но был выбран самый уебский и систайловый.
В чем проблема сделать
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
(
)
;
}
Короче одним словом:
Хорошая идея на счёт
. А вот твою ***ню про итераторы я вообще не понял. Зачем получать итератор через
, чтобы потом в итоге всё равно использовать
, лол? Ты предлагаешь сделать перебор ключей через итераторы, но когда ты обращаешься к реестру - заранее знаешь в каком ключе находится твой каталог. И что начнётся если каталог существует в нескольких ключах одновременно. =/
|
|
|