std::convertible_to
来自 cppreference.cn
                    
                                        
                    
                    
                                                            
                    | 定义于头文件  <concepts> | ||
| template< class From, class To > concept convertible_to = | (C++20 起) | |
概念 convertible_to<From, To> 指定了一个表达式,其类型和值类别与 std::declval<From>() 相同,可以隐式和显式转换为类型 To,并且这两种转换形式产生相同的结果。
| 目录 | 
[编辑] 语义要求
convertible_to<From, To> 仅在以下条件满足时才被建模:给定一个类型为 std::add_rvalue_reference_t<From>() 的函数 fun,且表达式 fun() 是相等性保持的,
- 要么-  To既不是对象类型也不是对象引用类型,或者
- static_cast<To>(fun()) 等于 []() -> To { return fun(); }(),并且
 
-  
- 以下之一为真- std::add_rvalue_reference_t<From> 不是对象引用类型,或者
- std::add_rvalue_reference_t<From> 是对非 const-qualified 类型的右值引用,并且在上述任一表达式之后,由 fun() 引用的对象状态有效但未指定;或者
- 由 fun() 引用的对象未被上述任一表达式修改。
 
[编辑] 相等性保持
标准库概念的 requires 表达式中声明的表达式必须是相等性保持的(除非另有说明)。
[编辑] 参考
- C++23 标准 (ISO/IEC 14882:2024)
- 18.4.4 概念 convertible_to[concept.convertible]
 
- 18.4.4 概念 
- C++20 标准 (ISO/IEC 14882:2020)
- 18.4.4 概念 convertible_to[concept.convertible]
 
- 18.4.4 概念 
[编辑] 参见
| (C++11)(C++20) | 检查一个类型是否可以转换为另一个类型 (类模板) | 


