c++11的初见

列表初始化

c++11以后支持{ }的列表初始

可以使用{ }括住数据来进行初始化,使用{ }初始化时可以省略=号

{ }中的数据要匹配构造;

使用{ }可以统一初始化方式。

cpp 复制代码
#include<iostream>
#include<vector>
using namespace std;
int main(){
	vector<pair<int,int>>vp;
	vp.push_back({1,2});
	cout<<vp.front().first<<" "<<vp.front().second;
} 

右值引用和移动语义

左值和右值

特征 左值 (lvalue) 右值 (rvalue)
内存地址 有确定的内存地址,可被 & 取址 无稳定地址,不可被 & 取址
生命周期 持久存在,表达式结束后依然有效 短暂存在,通常在当前语句结束后销毁
赋值操作 通常可放在赋值号 = 左边(const 左值除外) 只能放在赋值号 = 右边
典型示例 变量名、解引用指针 *p、数组元素 arr[i]、++i 字面量 10、算术表达式 a+b、函数返回的临时对象、i++

右值引用就是给右值取别名;

左值引用不可以直接引用右值;

const 左值可以使用右值引用

const int & rx1=10;

右值引用不可以直接引用左值;

右值可以使用move函数给左值引用

int&& rrx1=move(b);

move标记的数据可以被抢夺数据。

string s2=move(s1),s1会变空,

相关推荐
JJJennie7775 分钟前
MAI Gateway私有化部署全攻略:大模型网关如何接入?附架构图
算法·gateway·ai网关·魔芋ai
速易达网络10 分钟前
Three.js 动画入门教学:从场景搭建到流畅动效
开发语言·javascript·ecmascript
東隅已逝,桑榆非晚12 分钟前
算法3.双指针法-快乐数
c++·笔记·学习·算法
福大大架构师每日一题14 分钟前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级
开发语言·安全·golang
Sarvartha16 分钟前
集合概述 & Collection 接口
开发语言
专注仿真22 分钟前
卷积神经网络(CNN)算法详解
人工智能·python·算法·代码·大模型训练
FII工业富联科技服务25 分钟前
多智能体如何进入制造现场?从业务协同到数字孪生验证
大数据·人工智能·算法·机器人·制造·数字孪生
≮傷£≯√38 分钟前
httpserver_QNetWorkClient
算法
lhbweilai41 分钟前
QT项目(串口助手)
开发语言·qt
Evand J43 分钟前
【PMSM例程11】永磁同步电机(PMSM)基于UKF的转速与转子位置估计。附下载链接
算法·matlab·卡尔曼滤波·永磁同步电机·ukf·pmsm·位置估计