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

免费做ppt的网站有哪些wordpress设置移动端模版

免费做ppt的网站有哪些,wordpress设置移动端模版,wordpress 干嘛的,网站中常用的英文字体快乐的流畅#xff1a;个人主页 个人专栏#xff1a;《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火#xff0c;在为久候之人燃烧#xff01; 文章目录 引言一、列表初始化1.1 内置类型1.2 结构体或类1.3 容器 二、声明2.1 auto2.2 decltype2.3 nullptr 三、STL的… 快乐的流畅个人主页 个人专栏《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火在为久候之人燃烧 文章目录 引言一、列表初始化1.1 内置类型1.2 结构体或类1.3 容器 二、声明2.1 auto2.2 decltype2.3 nullptr 三、STL的变化3.1 新增容器3.2 新增initializer_list构造3.3 新增移动构造、移动赋值和移动插入3.4 其他 引言 关于C11的auto、nullptr和范围for的知识在之前已经提到过这里不再赘述有需要的请移步这篇博客【C练级之路】【Lv.1】C启动命名空间缺省参数函数重载引用内联函数auto范围fornullptr 一、列表初始化 C11更新后一切皆可用列表初始化。列表初始化又称统一初始化具体使用{}进行初始化。 列表初始化沿袭C语言对于内置类型和结构体的初始化上进行了统一形式的扩展。 1.1 内置类型 void test() {//单一变量int i 0;int j { 0 };int k{ 0 };//数组int arr1[] { 1,2,3 };int arr2[5]{ 0 };//动态开辟int* ptr1 new int[5] {0}; }虽然内置类型如 int, double 等通常不需要列表初始化但列表初始化仍然允许。列表初始化的一个特点就是可以去除等号“”。 1.2 结构体或类 struct Point {int _x, _y; };class Date { public:Date(int year, int month, int day): _year(year), _month(month), _day(day){} private:int _year, _month, _day; };void test() {//结构体Point p1 { 3,5 };Point p2{ 4,6 };//类Date d1(2024, 4, 10);Date d2 { 2024,5,1 };Date d3{ 2024,6,1 };//动态开辟Date* ptr2 new Date[3]{ d1,d2,d3 };Date* ptr3 new Date[3]{ {2024,1,1},{2024,2,2},{2024,3,3} }; }对于类的列表初始化可以理解为隐式类型转换构造临时对象-拷贝构造-编译器优化为直接构造。 1.3 容器 void test() {vectorint v1 { 1,2,3 };vectorint v2 { 1,2,3,4,5 };mapstring, string dict { {排序,sort},{逆序,reverse} }; }对于容器的列表初始化可不是之前的类型转换因为此时初始化的列表是可以变长的而之前的多参数构造是固定长度的。 那么此时应该怎么理解容器的列表初始化呢其实这里涉及了STL库中的initializer_list类。 void test() {auto il { 1,2,3,4,5 };cout typeid(il).name() endl;initializer_listint::iterator it il.begin();while (it ! il.end()){cout *it ;it;}cout endl;for (auto e : il){cout e ;}cout endl; }由上述代码可知让编译器自动推导列表类型便是class std::initializer_list int 。同样的initializer_list类也有自己的迭代器可以用迭代器进行遍历和修改。 那么每次容器的列表初始化过程可以理解为将右侧构造为initializer_list -遍历initializer_list进行迭代器区间构造。 构造initializer_list的过程在常量区找到列表中的值用两个指针start和finish指向头部和尾部的下一位类似于vector的内部原理每个容器都添加了initializer_list的构造函数调用对应的构造函数运用迭代器区间进行容器构造 ps容器既有initializer_list的构造也有initializer_list的赋值 二、声明 C11提供了多种简化声明的方式尤其是在使用模板时。 2.1 auto 2.2 decltype 关键字decltype可将变量的类型声明为表达式指定的类型。 void test() {int x 1;double y 2.0;decltype(x) k;auto ret x * y;vectordecltype(ret) v; }decltype最大的作用便是用来定义模板参数。因为auto没办法作为模板参数所以decltype正好弥补了这方面的缺陷。 2.3 nullptr 三、STL的变化 3.1 新增容器 C11更新了四个容器分别是arrayforward_listunordered_setunordered_map。其中unordered_setunordered_map我们已经深入学习和模拟实现过了。 那么关于array和forward_list其实带来的提升较小实际中较少用到。 arrayarray是一个固定大小的容器它在编译时就知道自己的大小这使得它在性能上通常优于vector因为它不需要在运行时进行动态内存分配和大小调整。 forward_listforward_list是一个单向链表它只包含指向下一个元素的指针没有指向前一个元素的指针。这使得它在内存使用上比list双向链表更高效。 3.2 新增initializer_list构造 这点在先前列表初始化已经提到过这是一个非常有用的提升与变化initializer_list的引入使得 C 的初始化语法更加简洁、直观和灵活提高了代码的可读性和可维护性。 3.3 新增移动构造、移动赋值和移动插入 这是非常重要的提升可以大大提高效率。具体内容要等讲到右值引用和移动语义时会详细讲解。 3.4 其他 还比如提供了cbegin和cend方法返回const迭代器等等但是实际意义不大因为begin和end也是可以返回const迭代器的这些都是属于锦上添花的操作。 真诚点赞手有余香
http://www.hkea.cn/news/14272498/

相关文章:

  • 大型网站开发公司邯郸小程序
  • 网站建设银行业务预约纪念币猪年纪念币预约北京网站备案速度
  • 淘宝关键词排名查询网站WORDPRESS导购主题 WYZDG
  • 北京网站建设 seo公司最吸引人的引流话术
  • 免费广州网站开发维护黄骅做网站|黄骅网站|黄骅百度优化|黄骅百度推广|黄骅微信|黄骅
  • 建站平台费用网站培训中心
  • 房屋装修效果图卧室新手学做网站优化
  • 整站快速排名河南那家做网站实力强
  • 济南企业网站制京东app下载平台
  • 做网站网页兼容性ios应用程序开发
  • 韩国电信 网站2018企业网站优化应该怎么做
  • 益阳建设局网站做瓜子进出口用哪些网站
  • 建手机网站要多少钱南宁网站快
  • 网站恶意点击wordpress支付宝移动端
  • 宁波网站建设rswl做外贸用什么浏览国外网站
  • 网站建设 提供源码视觉传达设计主要学什么
  • 网上投资网站建设开发公众号 微网站开发
  • 定制做网站技术哈尔滨工程研究生招生信息网
  • 延吉有没有做网站的网站做权重的方法
  • 南京网站设计建设推荐外链工具软件
  • 深圳最新招聘seo综合查询站长工具怎么用
  • 有可以做国外支付系统的网站吗佛山优化网站
  • 网站跳出率高的原因聚名网备案域名
  • 旅游 便宜 网站建设中国建设银行网站特点
  • 网站的排版问题一个人看片免费高清
  • 太原智能化营销网站制作公司软件定制公司官网
  • 用ps做网站方法做网站 模板
  • 网站 网络推广天津网站建设 阿土伯
  • 网站建设费用如何列支东莞网络推广平
  • 手机上上建设网站天河企业网站建设