Ale*_*cio 3 c++ static-assert compile-time c++11
偶尔,我会将函数的返回值赋给auto类型的变量(例如auto returnValue = someFunction();),但仍希望澄清/强制执行关于该变量类型的某些假设 - 即它是类型的int.
虽然Concepts&type_traits提供了一些非常强大的静态假设验证功能,但它们不支持这样的内容:
static_assert( isType( returnValue, int ) );
//OR
static_assert( int == typeof( returnValue ) );
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以使用类型特征,即std::is_same:
static_assert( std::is_same<int, decltype( returnValue ) >:: value , "Error, Bad Type");
Run Code Online (Sandbox Code Playgroud)
在这里演示.
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |