文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C++中std::conditional如何使用

2023-07-02 17:11

关注

本篇内容介绍了“C++中std::conditional如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

std::conditional的使用

具体用法

std::conditional<表达式, 类型1, 类型2>

具体理解为

如果表达式为真则定义的变量为类型1,如果表达式为假则定义的变量为类型2。

如:

typedef typename std::conditional<true, int, double>::type Type1;// => int Type1

则Type1的类型为int类型

以下显示了更多的例子

#include <iostream>#include <type_traits>#include <typeinfo> int main() {    typedef typename std::conditional<true, int, double>::type Type1;    typedef typename std::conditional<false, int, double>::type Type2;     typedef typename std::conditional<sizeof(int) == sizeof(double), int, double>::type Type3;     std::cout << typeid(Type1).name() << std::endl; // 输出:i (代表int类型)    std::cout << typeid(Type2).name() << std::endl; // 输出:d (代表double类型)    std::cout << typeid(Type3).name() << std::endl; // 输出:d (代表double类型)        Type1 a = 3.1; // 由于Type1的类型为int所以3.1被强制转换为3    Type2 b = 4.2; // Type2的类型为double,4.2保存在变量b中    std::cout << a +  b << std::endl; // 3+4.2,最终输出为7.2}

利用std::conditional实现变量的多类型

//std::conditional<bool, A, B>::type const bool kEnableOffsetRender = false; class LoginDialog : public std::conditional<kEnableOffsetRender, ui::WindowImplBase, nim_comp::ShadowWndBase>::type{public:    //todo}; 

“C++中std::conditional如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯