gpt4 book ai didi

c++ - 为什么 std::same_as 以如此奇怪的方式实现?

转载 作者:行者123 更新时间:2023-12-01 14:23:06 38 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why does same_as concept check type equality twice?

(3 个回答)


去年关闭。




cppref给出了 std::same_as 的可能实现:

namespace detail {
template<class T, class U>
concept SameHelper = std::is_same_v<T, U>;
}

template<class T, class U>
concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>;

为什么不执行如下:
template<class T, class U>
concept same_as = std::is_same_v<T, U> && std::is_same_v<U, T>;

甚至更短:
template<class T, class U>
concept same_as = std::is_same_v<T, U>;

最佳答案

是t把包容这只发生在概念上。

有了你的提议,
same_as<T, U>不包含 same_as<U, T> .

进一步阅读 cppreference .

关于c++ - 为什么 std::same_as 以如此奇怪的方式实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61056470/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com