【发布时间】:2021-11-15 03:15:46
【问题描述】:
我从未使用过std::get_if,并且由于它的名称与std::get 不同,我看不出它的参数应该是指针¹ 的原因(而std::get 有一个引用参数)。
¹如果它也被命名为 std::get,那么重载决议就足够了。
是的,我的问题可能被Is it absolutely necessary for std::any_cast() and std::get_if(std::variant) to take pointer as an argument?的问题所欺骗,但关键是那里没有答案地址@ 987654329@ vs std::get,只有一条评论;唯一的答案集中在std::any_cast。
【问题讨论】:
-
我似乎记得 Jason Turner 在 C++ Weekly 视频之一中谈到了为什么。
-
@xskxzr,不,因为我在问题中添加了原因。
标签: c++ c++17 pass-by-reference std-variant pass-by-pointer