c++ - 如何在编译时判断两个变量是否具有相同的类型?
问题描述
有没有比这更好的方法(或另一种方法)来判断两个变量在编译时是否具有相同的类型:
auto var1 = ..;
auto var2 = ..;
static_assert(std::is_same<decltype(var1), decltype(var2)>::value);
解决方案
有没有比这更好的方法(或另一种方法)来判断两个变量在编译时是否具有相同的类型:
好吧,你可以使用辅助变量模板std::is_same_v
template< class T, class U >
inline constexpr bool is_same_v = is_same<T, U>::value;
然后它会变成
static_assert(std::is_same_v<decltype(var1), decltype(var2)>);
推荐阅读
- javascript - 使用 Vue Axios 还是使用 Express Server 连接 Microsoft Azure Machine Learning Studio API?
- python - 在分类模型中初始化 BERT 嵌入
- php - PHP Slim REST 框架,.404 未找到错误
- python - 如何将具有值为列表的列的数据框转换为数据框,其中该列中每个列表的每个元素都成为新行
- ios - CloudKit+Core Data 在生产环境中突然停止同步
- github - 项目未推送到 Github
- sql - 需要使用返回表结果插入表中。我无法仅插入选择
- javascript - 一次在多个不同长度的短片上切片视频
- python - 两个网络之间的参数化后期融合
- javascript - 关于函数中括号的使用问题