Информация об изменениях

Сообщение Re[7]: Exception-safe vector от 22.12.2022 1:34

Изменено 22.12.2022 1:35 Sm0ke

Re[7]: Exception-safe vector
Здравствуйте, PM, Вы писали:

PM>Здравствуйте, Sm0ke, Вы писали:


S>>В варианте мне не хватает способа обратиться к значению без проверок.

S>>get<some_type>(var) делает проверку и кидает исключение в случае чего.
S>>Нужен ещё get_unsafe<>() хз как его лучше назвать. На случай когда я точно знаю что за тип хранится в варике.

PM>Вообще-то есть https://en.cppreference.com/w/cpp/utility/variant/get_if


If pv is not a null pointer and pv->index() == I

Следовательно оно внутри проверяет состояние. Это оверхед, когда index уже известен.
Re[7]: Exception-safe vector
Здравствуйте, PM, Вы писали:

PM>Здравствуйте, Sm0ke, Вы писали:


S>>В варианте мне не хватает способа обратиться к значению без проверок.

S>>get<some_type>(var) делает проверку и кидает исключение в случае чего.
S>>Нужен ещё get_unsafe<>() хз как его лучше назвать. На случай когда я точно знаю что за тип хранится в варике.

PM>Вообще-то есть https://en.cppreference.com/w/cpp/utility/variant/get_if


If pv is not a null pointer and pv->index() == I

Следовательно оно внутри проверяет состояние. Это оверхед, когда index уже известен.
upd: Да он ещё и указатель проверяет ...