Я никогда не использовал std::get_if, и поскольку его имя отличается от std::get, я не вижу причины, по которой его аргумент должен быть указателем¹ (тогда как std ::get имеет параметр по ссылке).
¹Если он тоже был назван std::get, то перегрузите разрешения будет достаточной причиной.
Да, мой вопрос можно было бы обмануть вопросом Абсолютно ли необходимо, чтобы std::any_cast() и std::get_if(std::variant) принимали указатель в качестве аргумента?, но дело в том, что там нет ответа, который бы обращался к std: :get_if против std::get, всего один комментарий; единственный ответ касается std::any_cast.
Подробнее здесь: https://stackoverflow.com/questions/692 ... ariant-arg
Есть ли какая-либо практическая причина, по которой std::get_if (std::variant) принимает вариантный аргумент по указател ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение