20140421 常量指针与指针常量; const指针; reinterpret_cast ;const_cast作用
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 *p="a";
int i=(int)"a";
int i2=(int)p;
int i5=reinterpret_cast<int>(p);//对p不做任何改变,只是p的值以int的形式赋值给i5
cout<<p<<endl;
printf("%d\n",p);//
cout<<i<<endl;//
cout<<i2<<endl;//
cout<<i5<<endl;//
return ;
}
2、常量指针和指针常量
/*指针常量或这称为const指针,表示指针本身不可修改 //*p可以修改*p = 8;(OK)//p不可以修改 p++(ERROR)*/
int a;
int * const p=&a; /*常量指针或指向常量的指针或指向const对象的指针, *p不可修改 *p = 8;(ERROR),p 可以修改 p = &b (OK)*/
int a,b;
const int *p = &a;
3、const_cast作用
- 常量指针被转化成非常量的指针,并且仍然指向原来的对象。
constB b1;B *b2 =const_cast<B*>(&b1); - 常量引用被转换成非常量的引用,并且仍然指向原来的对象
B。constB b1;&b3 =const_cast<B&>(b1);
20140421 常量指针与指针常量; const指针; reinterpret_cast ;const_cast作用的更多相关文章
- 指针总结指向const的指针、const指针、指向const指针的const指针
指针的一些总结 const与指针 指向const的指针指的是指针指向的数据是常量,不可以被修改,但指针变量本身可以被修改,如const int *p:严格说不能用指针间接修改指向的数据,但该变量可 ...
- 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)
[转]作者:xwdreamer 出处:http://www.cnblogs.com/xwdreamer 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &am ...
- 指针与 const --- 指针常量与常量指针
注:该文主要来源于 网易公开课之<C++ 程序设计入门(上)>课件. 在 C 语言标准中,const 修饰的变量称之为 只读变量, 在 C++ 语言标准中,const 修饰的变量称之为 常 ...
- const指针和指向常量的指针
先看下面六种写法: . const int p; . const int *p; . int const* p; . int * const p; . const int * const p; . i ...
- 辨析 const指针 和 指向常量的指针
辨析以下几种指针p的定义. ; int *p = &tmp; const int *p = &tmp; int const* p = &tmp; int * const p = ...
- c++中指针常量,常指针,指向常量的常指针区分
const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * con ...
- 常量指针-指向常量的指针,指针常量-指针本身是常量,常量-不能更改值的常量,数组指针-是指针int (*p)[n] 指针数组-是数组int *p[n]
1.常量指针 定义:具有只能够读取内存中数据,却不能够修改内存中数据的属性的指针,称为指向常量的指针,简称常量指针. 声明:const int * p; int const * p; 注:可以将一个常 ...
- 常量指针(pointer to constant)和指针常量(constant pointer)
一个指针可以操作两个实体,一个是指针值(即地址),一个是间访值(即指向的实体).于是指针的常量性也分为两种:常量指针(pointer to constant)和指针常量(constant pointe ...
- const 指针的三种使用方式
///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址, ...
随机推荐
- Github代码管理教程
https://desktop.github.com/ 目录 Create and use a repository Start and manage a new branch Make change ...
- 二:unittest框架配合selenium之xpath定位
刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的 ...
- 4种XML解析器
<?xml version="1.0" encoding="UTF-8"?> <Result> <VALUE> <NO ...
- SQL中Truncate语法
转自:http://www.studyofnet.com/news/555.html 本文导读:删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所 ...
- SPOJ MAXMATCH - Maximum Self-Matching (FFT)
题目链接:MAXMATCH - Maximum Self-Matching Description You're given a string s consisting of letters 'a', ...
- POJ 2451 Uyuw's Concert (半平面交)
题目链接:POJ 2451 Problem Description Prince Remmarguts solved the CHESS puzzle successfully. As an awar ...
- Codeforces 1176B - Merge it!
题目链接:http://codeforces.com/problemset/problem/1176/B 题意:给定序列,任意俩个元素可以相加成一个元素,求序列元素能被3整除的最大数量. 思路: 对于 ...
- hdu6393 /// 树链剖分
题目大意: 给定n q 在n个点n条边的图中 进行q次操作 0 k x 为修改第k条边的值为x 1 x y 为查询x到y的最短路 https://blog.csdn.net/nka_kun/artic ...
- 【VUE/JS】vue和js禁止浏览器页面后退
1.vue 禁止浏览器后退需求是:需要某个路由不能通过浏览器返回,同时不影响相互之间的切换整理一下解决方法 和 使用方法: 1.在路由配置中给这个路由添加meta信息,比如: { path: '/ho ...
- Spark Streaming设计