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

江西高端网站定制石家庄谷歌seo

江西高端网站定制,石家庄谷歌seo,婚庆网站建设必要性,如何做网站搭建1.C11关键字 auto和decltype是C11引入的关键字,负责类型的推导。所有不同的是: auto可直接用来定义变量,编译器会自动推导出变量的类型。decltype是推导出一个操作数的类型,然后用这个类型再去定义。 2.两者区别 尽管两者都是宏…

1.C++11关键字

auto和decltype是C++11引入的关键字,负责类型的推导。所有不同的是:
auto可直接用来定义变量,编译器会自动推导出变量的类型。decltype是推导出一个操作数的类型,然后用这个类型再去定义。

2.两者区别

尽管两者都是宏观意义上的类型推导,但是还是有细微差别的。关键字auto在类型推导过程中会发生一些退化,比如在:

  • 顶层const会被忽略
  • 引用(左值右值都一样)
  • 数组 -> 首地址
  • 函数 -> 函数指针
void func() {}
int main() 
{const int a = 10;auto auto_a = a;// 顶层const可以忽略,推导后为intint &&b = 10;auto auto_b = b;// 引用可以忽略,推导后为intint arr[3] = { 1,2,3 };auto auto_arr = arr;// 退化为首地址,推导为int*auto auto_func = func;// 推导为函数指针void (*func)()
}

而对于上述场景, decltype会保留原始类型,不会退化。

3.使用场景

1.auto关键字经常用在两个地方(我自己理解常用的)

  • 在类似lambda表达式或者接收复杂函数的复杂返回值的时候,直接用auto去承接返回值
auto res = [](int x) {return x * 2; };
  • 在STL中迭代器、模板类型,直接用auto去简化
std::map<int, std::string> myMap;
for (auto it = myMap.begin(); it!= myMap.end(); ++it) {// ...
}

2.decltype关键字相当于是更严谨的auto,它可以保证推导出来的类型不退化,特别是当需要保留const和引用场景的时候。
举一个模板编程的例子:

template<typename T, typename U>
auto add(T t, U u) -> decltype(t + u) {return t + u;
}

4.为什么对于函数类型推导要加上:-> decltype()

总结一句话:更加灵活、准确地推导出类型。

auto 函数名() -> decltype()

已经形成一种固定搭配了!

http://www.mmbaike.com/news/22622.html

相关文章:

  • 创建公司网站免费网站建设高端公司
  • 企业建设网站方案设计网站seo优化工具
  • 怎样做网站宣传色盲测试图
  • 镇江做网站要多少钱最有效的推广学校的方式
  • 怎么自己学做电商seo公司推荐推广平台
  • 万户做网站好不好免费进入b站2022年更新
  • 住房和城乡建设部网站造价师b2b网站大全免费推广
  • 做网站好还是做安卓app好百度免费建网站
  • 合优做网站需要多少钱今日中央新闻
  • 长治做网站多少钱郑州seo技术服务顾问
  • 三原县城乡建设局网站北京seo推广
  • 接私活 做网站培训机构招生7个方法
  • 做网站北京线下实体店如何推广引流
  • 趣味网页制作seo专员是干嘛的
  • 电信网站备案流程图网站关键词优化排名怎么做
  • 机械网站案例怎样淘宝seo排名优化
  • 国内优秀的网站设计海外推广营销平台
  • 番禺建设网站集团公司广告推广方案
  • 多用户商城网站建设公司外贸电商平台哪个网站最好
  • 网站内容建设策略seo快排公司哪家好
  • 做亚马逊学英语有什么网站吗品牌整合营销推广
  • 网站建设学习流程培训机构怎么找
  • 云商城24小时自助下单阳城seo排名
  • 建个网站多少费用网络服务包括
  • 招聘网站建设方案模板整站优化和关键词优化的区别
  • 荥阳网站建设网站seo优化徐州百度网络
  • wordpress nginx 502seo工作内容和薪资
  • 建网站logo怎么做微友圈推广平台怎么加入
  • 做网站用vs网络营销的表现形式有哪些
  • wordpress用户中心api专业seo关键词优化