指针的一些总结   const与指针 指向const的指针指的是指针指向的数据是常量,不可以被修改,但指针变量本身可以被修改,如const int *p:严格说不能用指针间接修改指向的数据,但该变量可以通过自己本省修改.如 int a=10: const int *p=&a:则*p=9是错误的,无法被修改,但是a=9,则是正确的,可以被修改.   如有const 常量,则需用const指针来指向.   const  指针 指的是指针变量本省是一个常量,只能指向定义时所给的那个数据,而不能指向别处…
1.reinterpret_cast<type_id>(表达式)的作用: type-id 必须是一个指针.引用.算术类型.函数指针或者成员指针.它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针.type_id的作用是在赋值的时候用到 int i5=reinterpret_cast<int>(p);//前面是int,所以方括号里的也是int #include <iostream> using namespace std; int main() { char…
[转]作者:xwdreamer   出处:http://www.cnblogs.com/xwdreamer 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * const myPtr = &char_A;//指向常量的常量指针 下面依次对这三种类型进行介绍. 因为*操作符是左操作符,左操作符的优先级是从右到左,对于…
注:该文主要来源于 网易公开课之<C++ 程序设计入门(上)>课件. 在 C 语言标准中,const 修饰的变量称之为 只读变量, 在 C++ 语言标准中,const 修饰的变量称之为 常量, 例: const int ARRAY_LEN = 100; int array[ARRAY_LEN];    //该语句在C++ 编译器中是可行的,但是在C编译器中是会报错的 以上是 const 在 C 和 C++ 中的差别,下边主要介绍 const 与指针: 1. 指针的两个属性 a. 指针变量本身…
先看下面六种写法: . const int p; . const int *p; . int const* p; . int * const p; . const int * const p; . int const * const p; 那么我们应该怎么区分上面的写法到底是指向常量的指针还是const指针(表示指针本身是常量)呢? 一个简便方法:从由往左读,遇到p就替换为“p is a”,遇到*就替换为“point to”,其余不变. 下面我们来一个一个看: . const int p; //…
辨析以下几种指针p的定义. ; int *p = &tmp; const int *p = &tmp; int const* p = &tmp; int * const p = &tmp; const int * const p = &tmp; int const * const p = &tmp; 根据文献一,可以采用从右往左读的方式区分. 第一个为普通指针,指向普通int变量: 第二个和第三个相同,都是普通指针,指向const int型变量: 第四个是c…
const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * const myPtr = &char_A;//指向常量的常量指针 1.指针常量 **从字面意思可以看出,指针是一个常量,也就是地址不能被修改. #include <iostream> using namespace std; void main() { int a = 10; int cons…
1.常量指针 定义:具有只能够读取内存中数据,却不能够修改内存中数据的属性的指针,称为指向常量的指针,简称常量指针. 声明:const int * p; int const * p; 注:可以将一个常量的地址赋值给一个对应类型的常量指针,因为常量指针不能够通过指针修改内粗数据.只能防止通过指针引用修改内存中的数据,并不保护指针所指向的对象. 2.指针常量 定义:指针常量是指指针所指向的位置不能改变,即指针本身是一个常量,但是指针所指向的内容可以改变. 声明:int * const p=&a; 注…
一个指针可以操作两个实体,一个是指针值(即地址),一个是间访值(即指向的实体).于是指针的常量性也分为两种:常量指针(pointer to constant)和指针常量(constant pointer). 指针常量是相对于指针变量而言的,也就是指针值不能修改的指针.常量指针是指向常量的指针的简称. 定义指针常量还是常量指针就看const修饰,若const修饰指针本身,则为指针常量,若修饰指针类型(指向的实体的类型),则为常量指针. 常量指针:const int* ip=&a; 指针常量:int…
///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址,不能修改指针指向的值 const 在变量之前类型之后 ---可以修改指针的指向值,不能修改指针地址 // 1.指针指向的数据为常量,不能修改,但是可以修改指针包含的地址 /*int HoursInDay = 24;const int* pInteger = &HoursInDay; cout<&…