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

罗湖医院网站建设普同网站跟营销型网站的区别

罗湖医院网站建设,普同网站跟营销型网站的区别,合肥市建设局网站,东营网站的优化文章目录一、列表初始化1.1 {}初始化1.2 initializer_list类型二、类型推导2.1 auto2.2 auto注意事项2.3 decltype三、新增与改进3.1 nullptr3.2 范围for3.3 array3.4 forward_list3.5 unordered系列3.6 final与override一、列表初始化 1.1 {}初始化 C11 引入了一个新的初始化… 文章目录一、列表初始化1.1 {}初始化1.2 initializer_list类型二、类型推导2.1 auto2.2 auto注意事项2.3 decltype三、新增与改进3.1 nullptr3.2 范围for3.3 array3.4 forward_list3.5 unordered系列3.6 final与override一、列表初始化 1.1 {}初始化 C11 引入了一个新的初始化方式 称为初始化列表(List Initialize) 具体的初始化方式如下 初始化列表可以用于初始化结构体类型 例如 struct Test {int _a;double _b; };int main() {Test tOld { 1, 1.1 };Test tNew{ 2, 2.2 };// 列表初始化int a 1;int b { 1 };// 列表初始化int c{ 1 };// 列表初始化int arr1[] { 1,2,3 };int arr2[]{ 1,2,3 };// 列表初始化return 0; }以前{}只能用来初始化结构体和数组而现在一切皆可用列表初始化。 当然new操作符也可以使用{}初始化 int* ptr1 new int[] {1, 2, 3}; Test* ptr2 new Test[]{ {1, 1.1}, {2, 2.2} };对于自定义类型{}会调用它的构造函数初始化 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;std::cout Date(int year, int month, int day) std::endl;} private:int _year;int _month;int _day; };int main() {Date d1(1, 2, 3);Date d2{1, 2, 3};return 0; }其他一些不方便初始化的地方使用 比如stl的初始化 如果不使用这种方式 只能用构造函数来初始化 难以达到效果 。 int main() {std::vectorint v{ 1, 2, 3, 4, 5 };// 列表初始化std::listint lt{ 1, 2, 3, 4, 5, 6 };// 列表初始化for (auto e : v){std::cout e ;}std::cout \n;for (auto e : lt){std::cout e ;}std::cout \n;return 0; }这里明显不是使用构造函数初始化的 那么这里是怎么做到的呢 利用std::initializer_list类型。 1.2 initializer_list类型 int main() {auto tmp { 1, 2, 3, 4 };std::cout typeid(tmp).name() std::endl;return 0; }typeid(变量名).name() 查看变量的类型 我们可以把它理解为一个存在常量区数组。 这个容器有以下接口 这样我们就可以像迭代器一样使用这个容器。 所以vector和list就可以这样初始化 其实使用initializer_list初始化就是遍历initializer_list的内容然后一个一个插入。 vector(initializer_listT il):_start(nullptr), _finish(nullptr), _endofstorage(nullptr) {reserve(il.size());// 防止过度扩容typename initializer_listT::iterator it il.begin();while (it ! il.end()){push_back(*it);it;} }二、类型推导 2.1 auto auto的作用就是自动推导对象的类型。从这个意义上讲auto并非一种类型声明而是一个类型声明时的占位符,编译器在编译时期会将auto替换为变量实际的类型。 double foo() {return 1.1; }struct Test {};int main() {// 内置类型int a 1;auto b a;// intauto c foo();// double// 自定义类型Test test;auto ret test;// struct Testreturn 0; }2.2 auto注意事项 1️⃣ 首先定义变量的时候一定要初始化 auto a;// error a 10;2️⃣ 不能作为函数的形参 void func(auto a) {}// error3️⃣ 变量不能作为自定义类型的成员变量 struct Test {auto a 1;// error };4️⃣ 不能是auto数组 auto arr[] { 1, 2, 3 };// error5️⃣ 模板实例化类型不能是auto类型 std::vectorauto v;// error2.3 decltype 关键字decltype将变量的类型声明为表达式指定的类型。我前面用的typeid(x).name()可以拿到x类型的字符串但是不能使用这个再去定义一个变量。 而decltype却可以拿到变量后面还可以继续使用这个类型定义出变量。 int main() {int x 0;decltype(x) a 10;// intdouble y 0.0;decltype(x y) b;// doublereturn 0; }三、新增与改进 3.1 nullptr nullptr 是为了解决原来 C中 NULL 的二义性问题而引进的一种新的类型因为NULL既能表示整型也能表示指针。 #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif /* NULL */3.2 范围for 在 C中 for 循环可以使用基于范围的 for 循环示例代码如下 int main() {int a[] { 1, 2, 3, 4, 5, 6 };for (int e : a){std::cout e ;}std::cout \n;return 0; }3.3 array template class T, size_t N class arrayarray就是个数组它跟vector的区别是array是静态数组不能扩容。 那么它跟普通数组有什么区别呢 普通的数组对越界的检查是随机的如果越界可能不会报错但是array一定能检查出来。 int main() {int a1[10];a1[22];// 不报错std::arrayint, 10 a2;a2[22];// 报错return 0; }3.4 forward_list template class T, class Alloc allocatorT class forward_listforward_list就是一个单链表它只有头插和头删接口并没有尾插和尾删接口。 int main() {std::vectorint a { 1, 2, 3, 4, 5, 6 };std::forward_listint lt(a.begin(), a.end());for (auto e : lt){std::cout e ;}std::cout \n;return 0; }3.5 unordered系列 这个在之前的文章有详细介绍 【C】哈希 跟map与set相比效率得到了大提升。 3.6 final与override 这里在多态里面有过详细介绍 【C】多态 final关键字在父类修饰虚函数表示该虚函数不能再被重写。 override在子类修饰虚函数检查子类是否重写如果没有重写则编译报错。
http://www.dnsts.com.cn/news/280617.html

相关文章:

  • 创建网站大约多少钱2018杭州旅游网站开发说明书
  • 云南省和城乡建设厅网站深圳的装修公司排名
  • 网站加手机建设png图标十六局门户网登录
  • 网站建设要学会编程吗html静态网页制作代码免费
  • 用dw软件做网站栅格系统公司装修图片大全
  • 课程网站课程资源建设小制作手工 小学生
  • 彻底关闭qq顶部小程序入口高要seo整站优化
  • 小说网站建设方案书ppt模板莱芜吧诚意带大家修车
  • 电影网站开发视频教程男女第一次做网站爱
  • 手机网站会员中心模板下载wordpress破解授权码
  • 北京建设网网站html5手机网站制作教程
  • 徐州网站制作公司哪家好企业做国外网站多少钱
  • 家居网站开发项目计划书北京营销推广公司
  • 百度官方网站登录外卖网站建设可行性分析
  • 百度网站建设的意义手机版 演示 网站 触摸
  • 农商网站建设个人总结网站建设需要域名吗
  • 生态文明建设wordpress百度收录优化
  • 临沂网站设计建设个人主页网页设计源代码
  • 基础微网站开发可信赖成都手机模板建站
  • 网站建设常用的编程语言网站建设背景
  • 某公司网站策划建设网站建设未来发展
  • 佛山自助建站系统网站宝二级域名怎么设置
  • 佛山网站建设公司怎么做企业营销型企业网站建设
  • 网后台的网站怎么做重点专业建设网站
  • 泰国房产网站大全网站门户建设流程
  • 上海有制作网站的电话吗四大门户网站创始人
  • 福州网站建设信息网站建设费用分几年摊销
  • 多个网站 备案吗打开网站不要出现 index.html
  • 做网站大概要多少网页设计是什么岗位
  • 爱站网影院学习网站二次开发