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

网站友情链接要加什么软文是什么意思

网站友情链接要加什么,软文是什么意思,携创网中国工商注册网,劳务公司网站怎么做文章目录 Ⅰ. autoⅡ. decltypeⅢ. nullptr Ⅰ. auto ​ 在 C98 中 auto 是一个存储类型的说明符,表明变量是局部自动存储类型,但是局部域中定义局部的变量默认就是自动存储类型,所以 auto 就没什么价值了。 ​ 所以 C11 中废弃 auto 原来的…

文章目录

  • Ⅰ. auto
  • Ⅱ. decltype
  • Ⅲ. nullptr

在这里插入图片描述

Ⅰ. auto

​ 在 C++98auto 是一个存储类型的说明符,表明变量是局部自动存储类型,但是局部域中定义局部的变量默认就是自动存储类型,所以 auto 就没什么价值了。

​ 所以 C++11 中废弃 auto 原来的用法,将其用于实现自动类型推导。这样要求必须进行显示初始化,让编译器将定义对象的类型设置为初始化值的类型。

int main()
{int i = 10;auto p = &i;auto pf = strcpy;cout << typeid(p).name() << endl;cout << typeid(pf).name() << endl;map<string, string> dict = { {"sort", "排序"}, {"insert", "插入"} };//map<string, string>::iterator it = dict.begin();auto it = dict.begin();return 0; 
}

​ 易错点:

#include<iostream>
#include<vector>// 4. vs2013不支持函数形参是auto变量,而qt可以
void func(auto a)
{//.....
}// 5. auto变量不能作为自定义类型的成员变量
struct test
{int a;auto b=10;
};int main()
{// 1. 定义变量时,必须初始化auto a; // ❌a = 10;// 2. 不能是auto数组auto b[3] = {1, 2, 3}; // ❌// 3. 模板实例化类型不能是auto类型std::vector<int> a;std::vector<auto> b = { 1 }; // ❌return 0;
}

Ⅱ. decltype

auto 使用的前提是:必须要对 auto 声明的类型进行初始化,否则编译器无法推导出 auto 的实际类型。但有时候可能需要根据表达式运行完成之后结果的类型进行推导,因为编译期间,代码不会运行,此时 auto 也就无能为力。

​ 💡 关键字 decltype 将变量的类型声明为表达式指定的类型。

decltype 实际上有点像 auto反函数auto 可以让你声明一个变量, 而 decltype 则可以从一个变量或表达式中得到其类型

// decltype的一些使用使用场景
template<class T1, class T2>
void F(T1 t1, T2 t2) 
{decltype(t1 * t2) ret;cout << typeid(ret).name() << endl;
}int Fun(int a)
{return 1;
}int main()
{const int x = 1;double y = 2.2;decltype(x * y) ret = 13.5; // ret的类型是doubledecltype(&x) p; // p的类型是int*cout << typeid(ret).name() << endl;cout << typeid(p).name() << endl; 
-----------------------------------------------------------// 对于函数指针也可以int(*pfunc1)(int) = Fun; // 普通的函数指针写法decltype(&Fun) pfunc2 = Fun;decltype(pfunc2) pfunc3 = Fun;cout << typeid(Fun).name() << endl;cout << typeid(pfunc1).name() << endl;cout << typeid(pfunc2).name() << endl;cout << typeid(pfunc3).name() << endl;
-----------------------------------------------------------F(1, 'a');
-----------------------------------------------------------auto it = { 1, 2, 3, 4, 5 };// 如果vector中要存的是自动推导的类型,那么auto是做不到的,因为auto需要初始化,比如vector<auto> v// 但是我们的decltype则可以通过推导it的类型来构建vvector<decltype(it)> v;v.push_back(it);cout << typeid(it).name() << endl;cout << typeid(v).name() << endl;
-----------------------------------------------------------// 匿名类型的枚举变量enum {OK,ERROR} flag;decltype(flag) flag1;cout << typeid(flag).name() << endl;cout << typeid(flag1).name() << endl;return 0;
}// 运行结果:
double
int const * __ptr64
int __cdecl(int)
int (__cdecl*)(int)
int (__cdecl*)(int)
int (__cdecl*)(int)
int
class std::initializer_list<int>
class std::vector<class std::initializer_list<int>,class std::allocator<class std::initializer_list<int> > >
enum `int __cdecl main(void)'::`2'::<unnamed-type-flag>
enum `int __cdecl main(void)'::`2'::<unnamed-type-flag>

Ⅲ. nullptr

​ 由于 C++NULL 被定义成字面量 0,这样就可能回带来一些问题,因为 0 既能指针常量,又能表示整形常量。所以出于清晰和安全的角度考虑,C++11 中新增了 nullptr,用于表示空指针。

#ifndef NULL
#ifdef __cplusplus
#define NULL   0
#else
#define NULL   ((void *)0)
#endif
#endif

​ 🔴 注意 nullptr 只能赋值给指针,不能赋值给常量

在这里插入图片描述

http://www.dtcms.com/wzjs/332761.html

相关文章:

  • 襄阳营销型网站建设搜索引擎网址
  • 顺德网站建设多少钱近期的新闻消息
  • 古交网站建设推广百度数据
  • 上海低价网站建设sem是什么意思?
  • 体育网站建设需求陕西今日头条新闻
  • 做高端网站的公司百度小说搜索风云榜排名
  • 玉树电子商务网站建设多少钱百搜科技
  • 淘宝店铺转让平台哪个靠谱太原百度快速优化
  • 西咸新区规划建设局网站搜狐视频
  • 简速做网站工作室seo网站技术培训
  • 哪些网站可以做养殖的广告医疗网站优化公司
  • 自己动手做衣服网站软文推广例子
  • 服装花型图案设计网站sem培训学校
  • 全国 做网站的企业sem分析是什么意思
  • 宣传册设计与制作公司网站关键词优化wang
  • 福州医院网站建设公司惠州seo按天计费
  • 如何做网站维护360网站安全检测
  • 做sorry动图的网站顾问
  • 医院网站建设进度及实施过程网店代运营一年的费用是多少
  • 网站首页 如何设置处理事件seo软件
  • 织梦怎么做门户网站软文模板app
  • 怎么使用运行 打开wordpress适合seo的网站
  • 做直销哪个网站好淘宝引流推广平台
  • 杭州cms模板建站日照高端网站建设
  • 中国建设部网站办事大厅单页站好做seo吗
  • 瓯北网站制作报价专业做seo推广
  • 网站菜单分类怎么做百度seo查询收录查询
  • 湖北seo优化诊断厦门网站seo外包
  • 百度资源站长平台湖南网站建设平台
  • 那些网站可以做条形码万网域名查询接口