c++11的初见
列表初始化c11以后支持{ }的列表初始可以使用{ }括住数据来进行初始化使用{ }初始化时可以省略号{ }中的数据要匹配构造使用{ }可以统一初始化方式。#includeiostream #includevector using namespace std; int main(){ vectorpairint,intvp; vp.push_back({1,2}); coutvp.front().first vp.front().second; }右值引用和移动语义左值和右值特征左值 (lvalue)右值 (rvalue)内存地址有确定的内存地址可被取址无稳定地址不可被取址生命周期持久存在表达式结束后依然有效短暂存在通常在当前语句结束后销毁赋值操作通常可放在赋值号左边const左值除外只能放在赋值号右边典型示例变量名、解引用指针*p、数组元素arr[i]、i字面量10、算术表达式ab、函数返回的临时对象、i右值引用就是给右值取别名左值引用不可以直接引用右值const 左值可以使用右值引用const int rx110右值引用不可以直接引用左值右值可以使用move函数给左值引用int rrx1movebmove标记的数据可以被抢夺数据。string s2moves1s1会变空
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2627112.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!