当前位置: 首页 > 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.ds6.com.cn/news/27458.html

相关文章:

  • wordpress大前端dux3.0整站优化网站
  • 北京新冠确诊最新数据龙岗seo优化
  • ps做网站素材文件打包百度广告投放价格表
  • 网站收录大全网络营销都具有哪些功能
  • 网站建设与开发英文文献广州seo排名外包
  • 免费做电子请柬的网站bt磁力天堂torrentkitty
  • 简单php企业网站源码网页搜索快捷键
  • 网站导航栏种类济南seo网站关键词排名
  • 网线制作心得体会搜索优化seo
  • 内蒙网站建设赫伟创意星空科技线上营销课程
  • 网站建设私人合同范本推广方案模板
  • 网络规划设计师真题下载优化大师手机版下载安装app
  • 1000学习做网站贵吗会员制营销方案
  • 什么网站做玩具的外贸建立营销型网站
  • 苏州 网站建设 app培训seo哪家学校好
  • 做ppt网站有哪些网图识别在线百度
  • 怎么查自己团员信息aso优化师
  • 水利厅网站集约化建设天津网站推广
  • 网站建设设计哪家好金华seo扣费
  • 榆次建设局网站北京seo优化哪家公司好
  • 手机wap网站建设济南seo外包服务
  • 犀牛云做网站做网站需要多钱淘宝如何刷关键词增加权重
  • 做网站要学多久河北网站建设推广
  • java 小说网站开发怎么在百度上发广告
  • 传媒公司网站建设费入什么科目希爱力双效片用后感受
  • 网站建设的功能定位成都今天宣布的最新疫情消息
  • m版网站开发网站推广排名公司
  • 生产厂家上什么网站做推广好企业网络推广平台
  • 网站文章内容的选取链接买卖价格
  • 个人可以做电视台网站吗seo研究协会网app