zoukankan      html  css  js  c++  java
  • 关于引用和指针的区别

    关于引用和指针的区别的出现,是C++ 语言中应该出现的概念,而非C语言。

    (1)引用必须被初始化,指针不必。

    (2) 引用初始化以后不能被改变,指针可以改变所指的对象。

    (3) 不存在指向空值的引用,但是存在指向空值的指针。

    (4)"sizeof引用"得到的是所指向的变量(对象)的大小,而"sizeof指针"得到的是指针本身的大小。

    #include "stdafx.h"
    #include <iostream> 
    using namespace std;
    int main() {
        int i;                     //正常声明变量的方式 
        int i = 555;               //正常声明变量的方式 ,并初始化了这个变量
        //int &i;                  //错误 声明了一个引用,但引用不能为空,必须同时初始化             
        int &i2 = i;               //正确 cout << i2<<endl; 结果为555;
        int *p;                    //正确 声明了一个整形指针,但是并没有定义这个指针所指向的地址 
        int *p2 = NULL;
        p = 2;                     //错误 pi存储的为地址而不是一个这个2危险的数字(未知的地址,可能指向只读区域导致系统奔溃)
        p = &i2;                   //正确 证书指针pi指向iv3的实际地址       
        const double b;            //错误 const常量赋值时,必须同时初始化。第一次必须初始化
        const double max = 10.0;   //正确 const常量赋值并同时初始化
        const double min = 0.5;    //正确 同上
        const double *p = &max;    //正确 const常量指针赋值并同时初始化
    
        return 0;
    }
  • 相关阅读:
    列式数据库
    Subway POJ
    操作系统知识汇总
    Linux工具指南
    常用数据结构
    bzoj1257: [CQOI2007]余数之和 整除分块
    HDU
    hdu1693 Eat the Trees 插头dp
    HDU
    poj2411 轮廓线dp裸题
  • 原文地址:https://www.cnblogs.com/causal360/p/4783783.html
Copyright © 2011-2022 走看看