引用专题

引用&在C语言中常用于取地址。

而在C++中,引用&除了可以取地址外,常作为变量的别名。

1 int main()
2 {
3         int a = 0;
4         int &b = a;  //C语言不能这样用
5         int * const p_b = &a;
6         b = 11;
7         cout << a << endl;
8         cout << *p_b << endl;
9 }


引用在C++中内部实现是一个常指针

struct T_Test{
    int &a;    //c语言不支持这种用法
    int &b;
};

int main()
{
    cout << sizeof(struct T_Test) << endl; // 8

    return 0;
}
    

const引用

const int &a = 10;

假如 int &a = 10;  则错误;

假如 int b = 10;

  int &a = b; 编译的时候没有出错

时间: 2024-08-01 19:16:23

引用专题的相关文章

【C/C++学院】(4)c++开篇/类和对象/命名空间/类型增强/三目运算符/const专题/引用专题

1.类和对象 成员函数,成员变量,抽象封装的能力. 求圆的面积: #include <iostream> using namespace std; class circle{ private: double m_r;//成员变量 public: void setR(double r)//成员函数 { m_r = r; } double getR() { return m_r; } double getS() { return 3.14*m_r*m_r; } }; void main() { c

引用专题(续)=》 常量引用

常引用分两点: 1 使用变量初始化const引用 const int &a = b 2 使用字面量常量初始化const引用  const int &m = 10: #include <iostream> using namespace std; void main() {     //普通引用     int a = 10;     int &b = a;     printf("b"%d\n",b);               //常引

C++对C的加强 总结(3)

三目运算符增强 int main() { int a = 10; int b = 20; //返回一个最小数 并且给最小数赋值成3 //三目运算符是一个表达式 ,表达式不可能做左值 (a < b ? a : b )= 30; printf("a = %d, b = %d\n", a, b); system("pause"); return 0; } 1)C语言返回变量的值 C++语言是返回变量本事 2) C语言中的三目运算符返回的是变量值,不能作为左值使用 C

C++003基础

1.C++对C的扩展 1简单的C++程序 1.1求圆的周长和面积 数据描写叙述: 半径.周长,面积均用实型数表示 数据处理: 输入半径 r. 计算周长 = 2*π*r : 计算面积 = π* r2 . 输出半径,周长,面积: 方法1:用结构化方法编程,求圆的周长和面积 // count the girth and area of circle #include<iostream.h> using name std; void main () { double r, girth, area ;

C++学习4-引用

C++引用(Reference) 引用(Reference)是C++语言相对于C语言的又一个扩充,是C++常用的一个重要内容之一.类似于指针,只是在声明的时候用"&"取代了"*".正确.灵活地使用引用,可以使程序简洁.高效.我在工作中发现,许多人使用它仅仅 是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源.故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖 引玉的作用. 引用    引用是别名,在声明时必须初始化,

Android开发之图片处理专题(一):利用软引用构建图片高速缓存

在Android开发中,图片处理是一个难点.对于大量的图片处理,一不小心就会出现OOM的错误.那么,构建缓存,就是非常必要的一个手段.利用软引用构建缓存,只是其中步骤之一,我们来看看一般情况下,图篇处理的流程. 一般而言,图片的处理流程大致如上,之前所说的Xutils的原理,也如此.今天,我们就先讲讲如何利用软引用技术来构建高速缓存. 一.对象的四种引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态

JAVA实现EXCEL公式专题(六)——查找引用函数

查找引用函数主要有match.lookup.vlookup.hlookup这4种,这几个常用的方法也就不解释啦,直接上干货: /** * 项目名称: * 文件说明: * 主要特点: EXCEL公式类型:查找公式 * 版本号:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package EXCEL; import java.util.Calendar; import java.util.Date; /** * @author lcx * */ public class Se

c指针-专题

六---指针 内存和地址怎么理解呢? 机器中有一些位置,每一个位置被称为[字节]/byte,许多现代机器上,每个字节包含8个位.更大内存单位[字],通常包含2个或4个字节组成. 一个字包含4个字节,它的地址是什么? 他仍然只有一个地址,是最左边还是最右边的那个字节的位置,取决于机器. 机器事实-关于整型的起始位置: 在要求边界对齐(boundaryalignment)的机器上,整型存储的起始位置只能是某些特定的字节,通常是2或4的倍数. 变量名和地址关系? 所有高级语言的特性之一,就是通过名字而

ios 中Category类别(扩展类)专题总结

原创地址   http://www.code4blog.com/archives/294 类别 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类. 类别使得无需创建对象类的子类就能完成同样的工作 一.创建类别 1.声明类别 声明类别与声明类的形式很相似 @interface  NSString(NumberConvenienc