const与指针、引用】的更多相关文章

一.引用 (1).引用是给一个变量起别名 定义引用的一般格式:类型  &引用名 = 变量名: 例如:int a=1;  int  &b=a;// b是a的别名,因此a和b是同一个单元 注意:定义引用时一定要初始化,指明该引用是谁的别名 在实际应用中,引用一般用作参数传递与返回值 引用不是变量,引用仅仅只是变量的别名,引用没有自己独立的空间,引用要与它所引用的变量共享空间,对引用所做的改变实际上是对它所引用的变量的改变,引用在定义的时候要进行初始化,引用一经初始化,不能重新指向其他变量. (…
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象,  const 指针和指向 const 对象的指针, const 对象的引用 作者:webabcd 介绍不可或缺 Windows Native 之 C++ this 指针 对象数组 对象和指针 const 对象 const 指针和指向 const 对象的指针 const 对象的引用 示例1.CppEmployee 类CppEmployee.h #pragma…
const和 define在常量定义上的差别 在C++中,我们可以使用const 或者 宏define来定义常量.但是C++鼓励使用const定义常量,而不是宏define.原因有很多. 1.define是C遗留下来的老古董,const比define更优雅,更符合符号常量的本意. 2.define用在复杂的代码中,不理解define的实质的人就会出问题.define是代码字面上的替换,预处理阶段还原替换的内容. const定义的常量可以说是“不变的变量“,因为它确实用了一个变量取保存某个不会发生…
一.函数原型声明: 1.函数声明告诉编译器函数的名称,和如何调用函数(返回类型和参数):函数定义提供了函数的实际主体. 2.强制性的:在C++中,如果函数调用的位置在函数定义之前,则要求在函数调用之前必须对所调用的函数作函数原型声明. 3.在函数声明中,参数名称并不重要,只有参数类型是必须的.即下述两种写法都被允许: int max(int x,int y); int max(int,int); 4.当函数定义 (func.cpp) 与代码主体 (main.cpp) 分开时,在 main.cpp…
问题1:const什么时候为只读变量?什么时候是常量? const常量的判别准则: a.只有用字面量初始化的const常量才会进入符号表(直接初始化过的const为常量) b.被使用其他变量初始化的const常量仍然是只读变量(间接初始化的const为只读变量) c.被volatile修饰的const常量不会进入符号表(volatile:易变的.每次都要去内存中取出值.所以也是只读变量.voaltile易变的在这里决定了cosnst不可能是一个常量:const则说明在当前的作用域当中,修饰的变量…
1. const指针和 指向const的指针 指向const的指针: 不允许通过指针来改变其指向的const值 const double *cptr *cptr = 42;  // error! 指针代表的值无法修改 const double pi =3.14 double *ptr = &pi //error ! 无法将指向const的指针赋值给非非const指针: const double *cptr = &pi //ok const 指针:本身值无法修改,即指针指向的地址无法修改 i…
const与指针类型 定义一个指针*p: const int* p = NULL; int const* p = NULL; int* const p = NULL; 上面两行定义完全等价,第三行则不同. 下面两行定义也完全等价: const int* const p = NULL; ; const int* p = &x; //p=&y; 正确 ; int* const p = NULL; ; const int* const p = &x; ; const int& y…
最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变指向,初始化是必要的.其定义形式如下: type *const 指针名称; 声明指针时,可以在类型前或后使用关键字const,也可在两个位置都使用.例如,下面都是合法的声明,但是含义大不同: const int * pOne;    //指向整形常量 的指针,它指向的值不能修改 int * cons…
Delphi里做了魔法变化,每个变量名称本身就是指针,因为不怎么需要指针语法.我也不知道是不是因为这个原因引起的Delphi与VC对句柄的不同处理. 这是Delphi的强行关机函数,好用,调用方式:WindowsExit(EWX_POWEROFF or EWX_FORCE) function WindowsExit(RebootParam: Longword): Boolean; var TTokenHd: THandle; TTokenPvg: TTokenPrivileges; cbtpPr…
1.对于普通的const与基本类型组合,都是表示的是这是一个常量, const int a; int const a; 表示的意思是一样的,a是一个常量,不可改变 2.对于const与指针组合在一起,可以将const理解为内容,*理解为指针,誰在前面谁不能改变,誰在前面先读谁 const int *a;  等价于int const *a;    const在前面所以内容不可以改变,但是指针指向可以改变.也就是常量指针 如:int const *a=b;    这样就不能再出现*a=x等其他值了,…