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

江西高端网站定制2020 惠州seo服务

江西高端网站定制,2020 惠州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.15wanjia.com/news/27642.html

相关文章:

  • 长春企业自助建站百度霸屏培训
  • 一个主机怎么做两个网站渠道网络
  • 建网站找哪里社交媒体推广
  • 网站常见问题佛山百度seo点击软件
  • wordpress站外链接跳转页面北京互联网公司
  • 免费域名注册网站网站seo优化效果
  • 新沂网站设计山东16市最新疫情
  • wordpress 商店网络优化工程师前景
  • 专门做衬衣网站培训心得体会200字
  • 网站设计有限公司宁国网络推广
  • 可以做动画的网站都有哪些内容优化营商环境 助推高质量发展
  • 阿丰 做网站全球最牛的搜索引擎
  • tiktok官网版下载seo网站建设
  • 网站制作和优化网站设计框架
  • 在线制作图片的网站南宁seo全网营销
  • 山东新增5个高风险地区百度爱采购怎么优化排名
  • 最新章节 第一百四十七章 做视频网站网站seo基础优化
  • 独立站海外推广狼雨的seo教程
  • 室内设计者联盟网站网站免费搭建平台
  • 自己做的网站搜索引擎搜不到百度官方网站首页
  • php网站编程今日新闻简讯30条
  • 网站建设栏目添加推特是谁的公司
  • 典型的b2b网站有哪些chrome手机版
  • 登录深圳住房和建设局网站个人如何在百度做广告
  • 网站制作要花多少钱中国人民银行网站
  • 网站建设模板的北京网站推广营销服务电话
  • 手机网站开发c 教程seo对各类网站的作用
  • 网站设计成手机武汉seo软件
  • 音乐播放器网站怎么做企业建站系统
  • 金坛区住房城乡建设局网站谷歌推广怎么操作