首页 > 编程语言 >C++面经 ----- C++11新特性:左值右值

C++面经 ----- C++11新特性:左值右值

时间:2022-11-08 21:02:40浏览次数:37  
标签:11 函数 右值 左值 C++ 引用 构造函数

概念

  • 左值:可以取地址并且有名字的东西就是左值。
  • 右值:不能取地址的没有名字的东西就是右值。
  • 纯右值:运算表达式产生的临时变量、不和对象关联的原始字面量、非引用返回的临时变量、lambda表达式等都是纯右值。
  • 将亡值:可以理解为即将要销毁的值。
  • 左值引用:对左值进行引用的类型。
  • 右值引用:对右值进行引用的类型。
  • 移动语义:转移资源所有权,类似于转让或者资源窃取的意思,对于那块资源,转为自己所拥有,别人不再拥有也不会再使用。
  • 完美转发:可以写一个接受任意实参的函数模板,并转发到其它函数,目标函数会收到与转发函数完全相同的实参。
  • 返回值优化:当函数需要返回一个对象实例时候,就会创建一个临时对象并通过复制构造函数将目标对象复制到临时对象,这里有复制构造函数和析构函数会被多余的调用到,有代价,而通过返回值优化,C++标准允许省略调用这些复制构造函数。

标签:11,函数,右值,左值,C++,引用,构造函数
From: https://www.cnblogs.com/slowlydance2me/p/16871181.html

相关文章

  • C++ 面经 ----- C++11新特性:auto & decltype 类型推导
    C++11引入了auto和decltype关键字使用他们可以在编译期就推导出变量或者表达式的类型,方便开发者编码也简化了代码。 auto示例autoa=10;//10是int型,可以自动推导......
  • 【流水】2022.11.08
    今天有是信息课看python,孩子人傻了赶紧luogu上用python水了几道题。今天考试除了暴力分拿的十分健全就没啥优点了可怜紫飨被gank到三机房去了,可怜(悲听说要......
  • 2022.11.08 NOIP2022 模拟赛五
    「LibreOJNOIPRound#1」DNA序列注意到\(k=10\),\(|\Sigma|=4\),故本质不同的子串个数只有\(4^10\)种,可以直接压位存下来。时间复杂度\(O(nk)\)。Codeconstint......
  • 闲话 22.11.8
    今天没有准备什么题(所以今天又是久违的纯闲话!但是今天下午想了这么一道题:给定\(n\)个区间\([l_i,r_i]\(0\lei<n)\)。设\(n\)阶多项式\(F(x)\)满足任意非常......
  • 11.8.4
    #include<stdio.h>intmain(){intn,i,x;intarr[100];scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&arr[i]); }scanf("%d",&x);for(i=0;i<n;i++){if(x!=arr[i]......
  • 11.8.5
    #include<stdio.h>intmain(){intarr[100];intn,i,j;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&arr[i]);}if(n==0)printf("");else{printf("%d",arr[0]);......
  • 2022-11 学习计划
    2022-11学习计划技术redis源码基本类型aeNet集群技术实现调优和配置项分析分布式锁事务,内存,阻塞,发布,订阅redis+mysql双写一致性node源码......
  • 11.8
    前段时间姑姑发了个视频来问我我下意识以为是发来考我的水平,但是打开发现是个企业的宣传视频于是我又开始想是不是姑姑质问我秋招有没有好好准备但是她只是自嘲地说这个......
  • 11.08
    今日内容1.面向对象的魔法方法2.魔法方法笔试题3.元类简介4.创建类的两种方式5.元类定制类的产生行为6.元类定制对象的产生行为7.魔法方法之双下new8.设计模式简介......
  • 使用一条for语句求若干个整数的平均值--C++自学
    #include<iostream>#include<stdlib.h>usingnamespacestd;intmain(){intx,count=0,sum=0;cout<<"输入若干整数:"<<endl;cin>>x;for(;x!=......