`
luliangok
  • 浏览: 779405 次
文章分类
社区版块
存档分类
最新评论

对临时变量的引用

 
阅读更多
以下代码来自《Imperfect C++》

#include<stdio.h>

intmain()
...{
longl=2222;
shortconst&s=l;

l
=0;
printf(
"%ld,%d ",l,s);
return0;
}


输出是0, 2222还是0, 0?
按C++标准,引用s所指向的不是l,而是一个临时变量,所以输出应该是0, 2222。
分享到:
评论

相关推荐

    C++ const引用、临时变量 引用参数详解

    C++引用—临时变量、引用参数和const引用 如果实参与引用参数不匹配,C++将生成临时变量。如果引用参数是const,则编译器在下面两种情况下生成临时变量: 实参类型是正确的,但不是左值 实参类型不正确,但可以转换为...

    如何理解C++ 临时变量的常量性

    1.认识临时变量的常量性 关于临时变量的常量性,先看一段代码。 void print(string& str) { cout&lt;...其中文意思为临时变量无法为非const引用初始化。出错的原因是编译器根据字符串”hello world”构造

    c++中临时变量不能作为非const的引用参数的方法

    下面小编就为大家带来一篇c++中临时变量不能作为非const的引用参数的方法。小编觉得挺不错的现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    临时变量作非const的引用进行参数传递引发的编译错误

    临时变量作为非const的引用进行参数传递引发的编译错误。相关文章:认识左值与常引用(http://www.eeskill.com/article/id/40046)。

    C++11引用临时变量的解析

    工作中遇到一个引用临时变量的问题,经过两天的学习,私以为:不仅弄明白了这个问题,还有些自己的独到见解。  这里使用一个简单的例子来把自己的学习过程和理解献给大家,如果有什么问题请不吝指正。  ********...

    在js中使用with语句中跨frame的变量引用问题

    当然不使用with,使用临时变量也可以达到同样的效果。不过创建变量时起名确实不是一件很遐意的事,就连MASM高版本中也提供了一个@@(以及@F和@B)来处理临时标号的问题,看来大家都是比较懒得啦。 我也挺喜欢用with...

    详解C++ 临时量与临时对象及程序的相关优化

    注意: 临时对象的生存周期只在本条语句,临时对象一旦被引用,它的生存周期就和引用相同。 对象如何生成? 先分配内存 在调用构造函数初始化对象的成员变量 产生对象对象析构了 对象就不存在了,对象的构造和析构是...

    Oracle数据库程序包全局变量的应用

    1 前言  在程序实现过程中,经常用遇到一些全局变量或常数。在程序开发过程中,往往会将该变量或常数存储于临时表或前台程序的全局变量中,由此带来...  Oracle数据库程序包中的变量,在本程序包中可以直接引用,但

    引用参数和传值参数的区别深入解析

    引用作为参数的好处是减少了临时变量对内存的开销,因此常用于对大对象的操作; 而常引用做参数就是保护参数不被修改; 附:堆和栈的知识一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)

    右值引用、移动语义和完美转发1

    // a是左值 getTemp()的返回值是右值(临时变量)左值引用、右值引用c++98中的引用很常见了,就是给变量取了个别名,在c++11中,因为增加了右值引

    替换变量名称脚本

    临时写的脚本,进行大量标识符替换,可能有bug

    c++的右值引用具体用法

    在c++11中,支持右值引用,右值引用的用处之一是移动语义,对象的资源所有权...为临时变量续命,也就是为右值续命,右值在表达式结束后就消亡了,如果想继续使用右值,就会使用昂贵的拷贝构造函数 如果能够直接使用临时

    经典C/C++面试题目大汇总(全附答案).doc

    例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量,那么这个引用所指向的空间(由new分配)就无法释放,造成memory leak。 (3)可以返回类成员的引用,但最好是const。这条原则可以...

    C#特性 匿名类型与隐式类型局部变量使用介绍

    在C#里有这样一些类型,它是作为临时储存数据的,生命周期只在这个方法内,方法结束了,这个类型的生命周期也没有了。那么这里我们就可以使用一个匿名类型。 代码如下: var KeyPair = new {Key=”yuyi”,Value=”...

    CPP杂记——移动构造函数中需要注意的问题

    首先提一下为什么要使用移动构造函数: 在多次使用传值做参数的方法时,不可避免的会产生临时对象从而调用拷贝构造函数。 . 默认的浅拷贝构造函数在临时变量被析构...1.在移动构造函数中结束对原临时变量的引用时,需要

    探讨:C++中函数返回引用的注意事项

    函数 返回值 和 返回引用 是不同的函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本,既然是引用,那引用谁呢?这个问题必须清楚,否则将无法理解返回引用到底是个什么概念。以下...

    2010年 c语言入门到精通

     变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,...

    corejava笔记

    引用(引用变量): 临时变量(方法中的变量和方法参数)在栈中分配 实例变量(对象属性)对堆对象中分配(如: 书的名字) 引用变量的值是地址值(透明管理,不可见), 通过这个地址 值引用了一个堆对象. 作业: 1 ...

Global site tag (gtag.js) - Google Analytics