gpt4 book ai didi

c++ - std::is_convertible 模板实现

转载 作者:行者123 更新时间:2023-12-05 02:44:39 24 4
gpt4 key购买 nike

我遇到了 an implementation std::is_convertible 并且对他们为什么要测试可返回性感到困惑。以下是整个实现的摘录。为什么要将 nullptr 转换为指向返回类型 T 的函数的指针?是否有不可返回类型的示例?

template<class T>
auto test_returnable(int) -> decltype(
void(static_cast<T(*)()>(nullptr)), std::true_type{}
);
template<class>
auto test_returnable(...) -> std::false_type;

最佳答案

这将测试类型 T 是否有效以通过 SFINAE 从函数返回,并根据结果返回 true_type 或 false_type。

例如,函数有类型但不能从函数返回(尽管指向它们的指针和引用可以)

https://en.cppreference.com/w/cpp/language/functions

关于c++ - std::is_convertible 模板实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66336392/

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