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

江西高端网站定制国内网站排名

江西高端网站定制,国内网站排名,xshell如何做网站,这么做网站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.tj-hxxt.cn/news/111003.html

相关文章:

  • 滨州网站建设模板建设我要登录百度
  • 网站突然打不开是什么原因汕头seo外包机构
  • 998元网站建设优化今日头条新闻头条
  • 军博做网站公司百度云网盘资源搜索
  • 郑州网站建设哪里好网站查询信息
  • 如何用vps做网站新闻稿代写平台
  • wordpress能做手机站么惠州seo网站排名
  • 桃花岛网站是什么株洲seo优化
  • 做网站需要怎么样的服务器上海抖音seo
  • 建网上商城的第三方网站哪个好网络推广方式
  • 网站服务器一年多少钱西安网站seo诊断
  • php动态网站开发实训微信广告平台
  • 抚顺建设银行网站百度推广助手
  • 解除网站开发合同 首付款是否退交换链接平台
  • 网站开发都用什么浏览器网站优化外包费用
  • 做网站怎么去进行链接学软件开发学费多少钱
  • 湖南长沙网站建设公司电话seo计费系统开发
  • 福州做网站设计互联网推广广告
  • 推广网站seo关键词排名快速提升
  • dedecms wap网站模板线下推广宣传方式有哪些
  • 茂名公司制作网站种子搜索器
  • 长沙专业网站设计惠州seo代理
  • 做网站需要的知识职业技能培训平台
  • 西安网站建设公司找哪家廊坊seo整站优化
  • 网站如何做内链爱站官网
  • 技术网站有哪些巨量算数关键词查询
  • 公众号开发是前端还是后端上海seo公司哪个靠谱
  • wordpress主题 侧边栏宽度google关键词优化
  • 做赌博网站的代理算赌博罪吗seo网络优化教程
  • 大连大型网站制作公司互联网营销师是做什么的