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

详细了解C++11(1)

大家好呀,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流哦
本文由:残念ing原创CSDN首发,如需要转载请通知
个人主页:残念ing-CSDN博客,欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:残念ing 的C++进阶系列专栏——CSDN博客
请添加图片描述

目标:
1. 认识C++11
2. 关于C++11的统一的列表初始化
3. 声明
4. 范围for循环
5. STL中的容器的变化

目录

  • 1 C++11的简介
  • 统一的列表初始化
    • 2.1{ }初始化
  • 2.2std::initializer_list<class K>的使用
  • 3声明
    • 3.1 auto
    • 3.2 decltype
    • 3.3 nullptr
  • 4 范围for循环
  • 5 STL中的容器的变化
    • 5.1 新容器
    • 5.2 新(接口)方法

1 C++11的简介

在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了
C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞
进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。
从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。相比于
C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中
约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。相比较而言,
C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更
强大,而且能提升程序员的开发效率,公司实际项目开发中也用得比较多,所以我们要作为一个
重点去学习。C++11增加的语法特性非常篇幅非常多,我们这里没办法一 一讲解,所以本节课程
主要讲解实际中比较实用的语法
在这里插入图片描述

统一的列表初始化

2.1{ }初始化

一切都可以用列表初始化 ,且可以不加等号

在这里插入图片描述
创建对象时也可以使用列表初始化方式调用构造函数初始化
在这里插入图片描述

2.2std::initializer_list的使用

原理:在栈上开一个数组,然后将值拷贝过去
std::initializer_list一般是作为构造函数的参数,C++11对STL中的不少容器就增加

int main()
{vector<int> v = { 1,2,3,4 };list<int> lt = { 1,2 };// 这里{"sort", "排序"}会先初始化构造一个pair对象map<string, string> dict = { {"sort", "排序"}, {"insert", "插入"} };// 使用大括号对容器赋值v = {10, 20, 30};return 0;
}

3声明

C++11提供了多种简化声明的方式,尤其是在使用模版时。

3.1 auto

在C++98中auto是一个存储类型的说明符,表明变量是局部自动存储类型,但是局部域中定义局部的变量默认就是自动存储类型,所以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;
}

3.2 decltype

作用:将变量的类型声明为表达式指定的类型

在这里插入图片描述

3.3 nullptr

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

4 范围for循环

底层的本质是迭代器,支持的类型很多

5 STL中的容器的变化

5.1 新容器

在这里插入图片描述

5.2 新(接口)方法

如果我们再细细去看会发现基本每个容器中都增加了一些C++11的方法,但是其实很多都是用得比较少的。
比如提供了cbegin和cend方法返回const迭代器等等,但是实际意义不大,因为begin和end也是可以返回const迭代器的,这些都是属于锦上添花的操作。
在这里插入图片描述

相关文章:

详细了解C++11(1)

大家好呀&#xff0c;我是残念&#xff0c;希望在你看完之后&#xff0c;能对你有所帮助&#xff0c;有什么不足请指正&#xff01;共同学习交流哦 本文由&#xff1a;残念ing原创CSDN首发&#xff0c;如需要转载请通知 个人主页&#xff1a;残念ing-CSDN博客&#xff0c;欢迎各…...

ITA的去锅盖处理流程

一、说明 锅盖是什么 锅盖的类型有哪些 二、去锅盖处理流程 去锅盖算法首先需要采集一份锅盖模板数据,该模板数据用户可以自定义保存,方便后面的开机重启直接导入使用。去锅盖处理包含两个历程:保存锅盖模板;去锅盖处理。 保存锅盖模板: ( 1 ) 打开采集锅盖模板开关。…...

日志管理系统的系统目标是什么?

在网络安全、数据管理、故障排查等领域&#xff0c;日志都被广泛使用并需要进行有效的管理与分析。因此&#xff0c;日志管理系统的系统目标显得尤为重要&#xff0c;如以下几方面。 1、确保数据的安全性及完整性 在企业和组织的日常运营中&#xff0c;各类信息数据都会通过系统…...

uniapp 底部导航栏tabBar设置后不显示的问题——已解决

uniapp 底部导航栏tabBar设置后不显示的问题——已解决 网上找了一堆解决办法&#xff0c;挨个对着试吧 解决办法一&#xff1a;tabBar里的list第一项和page中的第一项要相同&#xff0c;确实就能显示了。但是问题来了&#xff0c;page中的第一项是入口页&#xff0c;那就意味…...

JVM 类加载器

字节码的结构 魔数u4 cafe babe 版本u4 52 java8 常量池计数器u2 从1开始&#xff0c;0索引留给不需要的情况 常量池 表 #1 -> #计数器-1 类标识符 u2 public final abstrat class annotion interface 之类 类索引u2 名字 父类索引u2 父类名字 接口计数器 u2 接口数…...

《C++长时间运行程序:驯服内存膨胀的“怪兽”》

在 C编程的世界里&#xff0c;当我们编写长时间运行的程序时&#xff0c;内存膨胀问题就像一个隐藏在暗处的“怪兽”&#xff0c;随时可能吞噬我们程序的性能和稳定性。无论是服务器应用程序、大型模拟系统还是其他长时间运行的关键任务软件&#xff0c;有效地处理内存膨胀问题…...

ELK之路第二步——可视化界面Kibana

Kibana 1.安装2.解压3.修改配置4.启动 这部分内容就比较简单了&#xff0c;水一片文章。 1.安装 需要梯子 官网下载链接&#xff1a;https://www.elastic.co/cn/downloads/past-releases/kibana-7-3-0 如果你去官网下载页面&#xff0c;点击下载是404报错&#xff0c;记得切换…...

Nature Medicine病理AI汇总|CONCH:病理图像分析的零样本学习模型·顶刊精析·24-10-30

小罗碎碎念 最近在整理24年发表在Nature Medicine上的病理AI文章&#xff0c;简单列了一个表。 接下来我将按照先后顺序&#xff0c;系统的把这13篇文献分析完。其中底色做了填充的&#xff0c;代表商业公司在本论文中占据了一作或通讯。 本期推文介绍的模型是CONCH&#xff0…...

通过不当变更导致 PostgreSQL 翻车的案例分析与防范

在数据库管理领域&#xff0c;PostgreSQL 凭借其强大的功能和稳定性&#xff0c;赢得了广泛的认可。然而&#xff0c;即便是如此稳健的系统&#xff0c;在不当的变更操作下&#xff0c;也可能遭遇性能下降、数据丢失甚至系统崩溃的风险。本文将通过一个具体案例&#xff0c;分析…...

Windows高级技巧:轻松实现多进程窗口的连接与管理

在Windows操作系统中&#xff0c;管理多个进程窗口可能是一项复杂的任务&#xff0c;特别是在自动化测试或多任务处理时。本文将介绍一种高效的方法&#xff0c;通过Python编程和AirtestIDE工具&#xff0c;实现多进程窗口的便捷连接与管理。同时&#xff0c;将提供具体的代码示…...

洪水淹没制图

原文链接&#xff1a;洪水淹没制图https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247624956&idx2&sn2557e56396eed7568d27baf694dc86fe&chksmfa8da91bcdfa200d307ea12ab9f52394ca6ef0bea3111bd8a873b34c950bcd9441c377f13674&token1392391660&…...

PHP的 CSRF、XSS 攻击和防范

CSRF攻击 CSRF&#xff08;Cross-Site Request Forgery&#xff09;攻击&#xff0c;也称为跨站请求伪造&#xff0c;是一种常见的网络安全威胁。在这种攻击中&#xff0c;攻击者利用已认证的用户身份&#xff0c;在用户不知情的情况下伪造请求&#xff0c;冒充用户的操作向目…...

怎么在线制作活码?二维码活码的简单制作技巧

进入数字化时代&#xff0c;二维码已经成为主要的一种内容分享方式&#xff0c;将内容生成活码二维码&#xff0c;可以方便内容的传输与存储&#xff0c;在日常生活中的很多场景都有二维码的应用。通过生成二维码的方式可以更简单快速的分享内容给其他人&#xff0c;有效提高获…...

Lua中实现异步HTTP请求的方法

Lua&#xff0c;作为一种轻量级的脚本语言&#xff0c;因其简洁和高效&#xff0c;在游戏开发、嵌入式系统以及互联网应用中得到了广泛的应用。本文将介绍如何在Lua中实现异步HTTP请求&#xff0c;并提供相应的代码实现&#xff0c;包括如何通过代理服务器发送请求。 异步HTTP…...

拓展学习-golang的基础语法和常用开发工具

golang的基础语法 golang的基础语法和其他语言大部分都差别不大&#xff0c;如果我们有学习过其他语言&#xff0c;比如JavaScript&#xff0c;php&#xff0c;java&#xff0c;python等&#xff0c;有其他语言的语法基础&#xff0c;那么我们学习golang将更容易上手。那我们直…...

得计算题者得天下!软考系统集成计算题详解!

软考中级系统集成项目管理工程师考试一共有《综合知识》和《案例分析》两门科目&#xff0c;而在这两科中都会涉及到计算题&#xff0c;特别是案例分析中&#xff0c;计算题每次考试都会占到一道大题&#xff0c;共25分&#xff0c;占到了科目总分的1/4&#xff0c;所以对于系统…...

在AdaBoost中每轮训练后,为什么错误分类的样本权重会增大e^2αt倍

在 AdaBoost 的每一轮迭代中&#xff0c;样本 i i i 的权重更新公式为&#xff1a; w t 1 , i w t , i ⋅ exp ⁡ ( − α t y i G t ( x i ) ) Z t w_{t1,i} \frac{w_{t,i} \cdot \exp(-\alpha_t y_i G_t(x_i))}{Z_t} wt1,i​Zt​wt,i​⋅exp(−αt​yi​Gt​(xi​))​ …...

什么是数据中心?

数据中心是一个专门用于容纳大量联网计算机设备的设施&#xff0c;这些设备共同协作&#xff0c;以处理、存储和传输数据。现代社会中&#xff0c;大部分高科技公司都依赖数据中心来提供在线服务&#xff0c;例如网站、应用程序和云服务等。可以说&#xff0c;数据中心是互联网…...

【工具使用】VSCode如何将本地项目关联到远程的仓库 (vscode本地新项目与远程仓库建立链接)

在日常练习的项目中&#xff0c;我每次都在vscdoe编写前台代码&#xff0c;但是对于编写的代码&#xff0c;如何将本地项目关联到远程的仓库&#xff1b;这里做一下记录 文章目录 1、Gitee 新建远程仓库2、将本地的项目和远程仓库进行关联**3、将本地修改的代码推送到远程通过命…...

安全见闻-二进制与网络安全的关系

一、二进制的基本概念 二、二进制在网络安全中的重要性 三、二进制安全的概念与范畴 1. 二进制安全的定义 2. 范畴 四、二进制安全的渗透测试方法 1. 静态分析 2. 动态分析 3. 模糊测试 4. 漏洞利用 5. 代码审计 五、结论 学习视频泷羽sec&#xff1a;安全见闻&…...

MongoDB 部署指南:从 Linux 到 Docker 的全面讲解

一、MongoDB 简介 MongoDB 是一种 NoSQL 数据库&#xff0c;以文档模型存储数据&#xff0c;具备高性能、弹性扩展性和分布式架构等特点&#xff0c;非常适用于高并发和大数据量的场景。本文将从 Linux 和 Docker 环境开始讲解&#xff0c;帮助读者在不同环境下顺利部署 Mongo…...

Java AQS 源码

前言 相关系列 《Java & AQS & 目录》&#xff08;持续更新&#xff09;《Java & AQS & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Java & AQS & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Java & …...

栈和队列(1)——栈

栈的基本概念 1. 栈的定义&#xff1a;只允许在一端进行插入或删除操作的线性表&#xff08;可以理解为操作受限的线性表&#xff09;。 2. 栈的特点&#xff1a;后进先出&#xff08;LIFO&#xff09;。 3. 栈的基本操作&#xff1a;初始化、销毁、进栈、出栈、读栈顶元素等…...

Java中的反射(Reflection)

先上两张图来系统的看一下反射的作用和具体的实现方法 接下来详细说一下反射的步骤以及之中使用的方法&#xff1a; 获取Class对象&#xff1a; 要使用反射&#xff0c;首先需要获得一个Class对象&#xff0c;该对象是反射的入口点。可以通过以下几种方式获取Class对象&#x…...

【IC验证】linux系统下基于QuestaSim的systemverilog仿真TCL命令

linux系统下基于QuestaSim的systemverilog仿真TCL命令 一.终端打开QuestaSim二.QuestaSim中TCL脚本指令1.仿真库的创建&#xff08;vlib&#xff09;-非必要2.编译命令&#xff08;vlog&#xff09;3.仿真命令&#xff08;vlog&#xff09;4.运行命令&#xff08;run&#xff0…...

Python图像处理库PIL,实现旋转缩放、剪切拼接以及滤波

文章目录 切割缩放和旋转拼接 PIL的Image类&#xff0c;提供了一些常用的图像处理方法。 切割缩放和旋转 PIL可以很方便地实现如下效果 代码如下 from PIL import Image path lena.jpg img Image.open(path) # 读取 img.resize((50, 50), resampleImage.Resampling.NEARE…...

xhr的readyState和status

XMLHttpRequest&#xff08;XHR&#xff09;对象中的readyState和status用于监控异步 HTTP 请求的状态。它们分别表示请求的当前阶段和服务器的响应状态。 readyState 用于判断请求所处的阶段&#xff0c;确保数据完全接收。 status 用于判断请求的结果状态&#xff08;如200表…...

Rust 力扣 - 238. 除自身以外数组的乘积

文章目录 题目描述题解思路题解代码题解链接 题目描述 题解思路 这题主要有个关键点&#xff0c;就是元素能取0&#xff0c;然后我们分类讨论元素为0的数量 如果数组中存在至少两个元素为0&#xff0c;则每个元素的除自身以外的乘积为0如果数组中仅存在一个0&#xff0c;则为…...

【Vue框架】基础语法练习(1)

其实更多知识点已经在Vue.js官网十分清楚了&#xff0c;大家也可以去官网进行更细节的学习 https://cn.vuejs.org/ 说明&#xff1a;目前最新是Vue3版本的&#xff0c;但是Vue2已经深得人心&#xff0c;所以就是可以支持二者合用。它们最大的区别就是Vue3是组合式API&#xf…...

开源一款基于 JAVA 的仓库管理系统,支持三方物流和厂内物流,包含 PDA 和 WEB 端的源码

大家好&#xff0c;我是一颗甜苞谷&#xff0c;今天分享一款基于 JAVA 的仓库管理系统,支持三方物流和厂内物流,包含 PDA 和 WEB 端的源码。 前言 在当前的物流仓储行业&#xff0c;企业面临着信息化升级的迫切需求&#xff0c;但往往受限于高昂的软件采购和维护成本。现有的…...

做第三方团购的平台网站/seo实战培训费用

编码规范 1. 缩进 采用2个空格缩进&#xff0c;而不是tab缩进。空格在编辑器中与字符是等宽的&#xff0c;而tab可能因编辑器的设置不同。2个空格会让代码看起来紧凑、明快。 2. 变量声明 永远用var声明变量&#xff0c;不加var时会将其变为全局变量&#xff0c;这样可能会意外…...

北京齐力众信网站建设/电商推广和网络推广的区别

---恢复内容开始--- 逻辑控制器&#xff1a;控制执行顺序 simple controller:跟采样器配合&#xff0c;提供一个块的结构和控制。作为一个整体来执行。 loop controller:用${__threadNum}函数来获取当前线程&#xff0c;线程多时执行顺序被打乱。 once only controller:脚本只执…...

免费英文网站建设/网络营销与直播电商专升本

把数组排成最小的数(三十二) 题目描述 输入一个正整数数组&#xff0c;把数组里所有数字拼接起来排成一个数&#xff0c;打印能拼接出的所有数字中最小的一个。例如输入数组{3&#xff0c;32&#xff0c;321}&#xff0c;则打印出这三个数字能排成的最小数字为321323。 代码…...

嘉兴商城网站开发设计/推广方案如何写

1号进程是什么 当我们使用 /bin/bash 启动一个centos的容器 docker run -it --rm centos:7 /bin/bash那么启动命令就是1号进程 [rootded49b74042c /]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 0.0 11836 …...

自助个人网站注册/磐石网站seo

在研究如何更好效的管理公司电脑&#xff0c;限制客户端安装和运行各种公司列入黑名单的软件时&#xff0c;了解了一下XP以上系统的组策略里新加入的软件限制策略&#xff0c;发现运用此策略也能实现一些其它功能哦~~~~~ 上网的朋友都知道&#xff0c;有时候不小心打开了带病毒…...

wordpress缩略图幻灯展现/营销知识和技巧

有很大部分的深度技术用户都遇到过win10系统安装失败的问题&#xff0c;其实&#xff0c;造成系统安装失败的原因有很多&#xff0c;比较常见的是安装的过程中出现内部故障&#xff0c;又或者下载的操作系统不完整出现问题等等。大家也不用太慌张&#xff0c;我们可通过重新安装…...