当前位置: 首页 > news >正文

大理网站建设公司网站分享的功能怎么做

大理网站建设公司,网站分享的功能怎么做,棋牌网站建设,塘沽网站建设优化文章目录 前言它们是什么通俗解释总结 前言 在C中提到推导第一个映入脑海的可能是“模板”,当然有人也可能想到 auto,这些都是和推导相关的语言语法,再比如“完美转发”等等,总是就是他们的类型不用明明白白的写出来,…

文章目录

  • 前言
  • 它们是什么
  • 通俗解释
  • 总结

前言

在C++中提到推导第一个映入脑海的可能是“模板”,当然有人也可能想到 auto,这些都是和推导相关的语言语法,再比如“完美转发”等等,总是就是他们的类型不用明明白白的写出来,可以利用一种简单的方式来定义,比如 candidates 是一个字符串数组, 如果遍历它我们可以写成 for (auto& skillId : candidates),而不用将 skillId 变量定义成 const std::string&,这在一定程度上带来了便利,今天的几个东东也是用于推导的,我们一起来看看。

它们是什么

decltypestd::declvalstd::decay_t 都是 C++ 标准库中的类型相关工具,这些工具在 C++ 编程中提供了强大的类型推导和处理能力,使得代码更加灵活。

  • decltype 是一个关键字,用于从一个表达式中推导出其类型。它通常与表达式一起使用,以便在编译时确定表达式的类型。例如:

    int x = 5;
    decltype(x) y = 10;  // y 的类型将被推导为 int
    

    decltype 还可以用于推导函数返回类型,以及在泛型编程中处理模板的类型。

  • std::declval 是一个函数模板,用于在不实际调用构造函数的情况下生成一个对象引用,以便在类型推导中使用。通常在需要引用某个类型的对象但实际无法创建该对象的上下文中使用,例如在函数返回类型推导中:

    template <typename T>
    auto createAndProcess() -> decltype(std::declval<T>().process()) {// 此处只是用于类型推导,并不会实际创建 T 的对象
    }
    

    在这个例子中,std::declval<T>().process() 用于推导函数的返回类型,但并不会实际调用 process 函数。

  • std::decay_t 是一个类型转换工具模板,用于将给定类型的"衰变"后的类型返回。衰变指的是将类型转换为其"自然"形式,即去掉引用、添加 cv 限定符(const 和 volatile)。例如:

    using T1 = std::decay_t<int&>;      // T1 为 int
    using T2 = std::decay_t<const int>; // T2 为 int
    using T3 = std::decay_t<int[]>;     // T3 为 int*
    

    std::decay_t 在模板编程中很有用,因为它可以帮助去除类型的多余限定符,使得函数模板的匹配更加精确。

通俗解释

如果看了上面的例子还是有点迷糊,那我再解释的通俗一点:

  • decltype 读音为 “dee-kluh-type”,就是返回一个变量的类型,比如你有一个对象 obj 想要再定义一个和它相同各类型的变量就可以写成 decltype(obj) newObj;

  • std::declval 读音为 “standard dee-cl-val”,它能返回类型 T 的右值引用,其实是一个伪实例,不会产生任何临时对象,也不会因为表达式很复杂而发生真实的计算。因为不会真正的进行构造,所以可以实现在元编程时伪构造一个没有定义默认构造函数类,还可以避开纯虚基类不能实例化的问题,说白了它就是假装创建个对象用于推导类型。

  • std::decay_t 读音为 “standard dee-kay tee”,有点褪去外表直击内心的意味,就是大家一起褪去花里胡哨的修饰符,获得原始的类型,用于函数模板的匹配更加精确,比如判断类型 T 是不是int,if constexpr (std::is_same_v<std::decay_t<T>, int>)

总结

  • decltype 是关键字,用于有了值或对象求类型的
  • std::declval 是函数模板,用于伪造一个对象但不实际构造的
  • std::decay_t 是类模板,用于去除修饰符获取原始类型的
  • 没想到decltype 居然是关键字,结果一查发现C++的关键字已经膨胀了,下次总结一下
==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==

当身边出现不和谐声音的时候问问自己,是不是你把他们招来的,用实力让他们闭嘴,而不要视图通过语言让他们明白

http://www.yayakq.cn/news/935329/

相关文章:

  • 推广网站发布文章重庆公司网站建设价格
  • 网站建设更新不及时 整改报告网站色调搭配
  • 南昌网站排名优化公司网站后台管理
  • 外贸网站建设平台有哪些网站建设的搜索栏怎么设置
  • 国内建网站软件广告联盟app下载
  • wordpress 4.8.2 漏洞seo推广专员工作内容
  • asp.net企业网站外贸是什么工作
  • 网站开发软件三剑客centos打开wordpress
  • 拖拽网站怎么做的网站如何做入支付接口
  • 蚌埠网站建设兼职pos机网站建设方案
  • 网络科技公司 网站建设中华机械网
  • 品牌建设网站特点wordpress 泛解析
  • 韩国设计交流网站网站培训机构
  • 自助建站官网h5制作方法和步骤
  • 贵阳网站建设哪里好wordpress模板与主题的区别
  • 网站建立需要什么技术创新作品及其设计方案
  • 做非法网站的有没有网站建设与制作的流程
  • 单位网站建设意义大数据软件和网站开发那个就业好
  • 南昌网站建设方案外包楼市最新消息今天
  • 网站建设的步骤目标规划平面设计转行做什么比较好
  • 用网站做平台有哪些百度公司介绍
  • 功能型网站 设计郑州市有做网站的吗
  • 网络建站系统vs 网站开发
  • 设计制作活动快速排名优化推广手机
  • iis部署网站 错误400邢台网络推广系统找哪家
  • 集团网站模板宝塔建设的网站火车头发布失败
  • 广州seo网站推广公司wordpress文章省略
  • 做网站是什么软件如何做电商生意
  • 精品网站模板女生学电子商务后悔了
  • 贵阳网站优化c2c交易会被判刑嘛