const int*和int* const

int sloth = 3;

const int* ps = &sloth;

int* const finger = &sloth;

ps不能修改sloth的值,但可以指向另一个位置。

finger可以修改sloth的值,但不能指向其它位置。

finger和*ps都是const,而*finger和ps不是。

——————————《C++ primer plus》

时间: 2024-12-09 00:37:54

const int*和int* const的相关文章

const int* 和 int const*的区别?

Thinking in C++ 看到了第八章,讲的是指针. 这里提出这两个的区别是: 1.const int* 指向const的指针 对于这个的解释是:     const int* u;       //u是一个指针, 它指向一个const int.这里不需要初始化,因为u可以是指向任意标识符(也就是说它不是一个const),但是它的值是不能被改变的. 2.int const*这个是指向int 的const指针 对于这个的解释是:      int * const w = &d; 现在读成w是

int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的区别

 加有const关键字的几种情况的辨析 const修饰的代码 含义(特点) 等价性 int *p = # 1.       可以读自己 2.       可以通过*p改自己 3.       可以通过p = &data来看别人 权限最大 cons int *p = # 1.const放在左边意味着指向的是常量,这个常量不可以修改, 2.p = &data; (地址可以修改) 3.*p = 30;(这个时候是错误的) 这两者等价(应用:查看别人的账户) i

关于int &const t和 int const& t

#include<iostream.h> #include<stdio.h> int main() { int i = 0; int const& j = i; int & const t = i; const int& m = i; i = 3; printf("j = %d m = %d  t = %d i = %d &j = %d &m = %d &t = %d",j,m,t,i,&j,&m,

C/C++中的const int*和int * const

代码: 1 #include <iostream> 2 3 using namespace std; 4 5 int main(){ 6 const int *p; 7 int a = 2; 8 p = &a; 9 a = 5; 10 11 cout<<p<<" "<<*p<<endl; 12 13 int b = 10; 14 p = &b; 15 16 cout<<p<<"

int main (int argc, const char * argv[0]) 中参数的含义;指针数组和数组指针

恩,有的编译器初始化时候会产生这样的参数 argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名 1. 几种C++ 常见的参数种类 int main(void); int main(); int main(int argc, char **argv);   //等价于int main(int argc, char *argv[]),是否等价呢?是不是前一个可以表示任意长度的任意个数组,后一个只是定长的任意个数的数组?见下面 int main(int argc, c

const int *p,int *const p区别(转)

1)先从const int i说起.使用const修饰的i我们称之为符号常量.即,i不能在其他地方被重新赋值了.注意:const int i与int const i是等价的,相同的,即const与int的位置无所谓.2)const int *p看例子:int i1=30;int i2=40;const int *p=&i1;p=&i2;  //此处,p可以在任何时候重新赋值一个新的内存地址.i2=80;  //这里能用*p=80来代替吗?答案是不能printf("%d"

c语言检测文件是否存在int __cdecl access(const char *, int);

最近写代码,遇到很多地方需要判断文件是否存在的.网上的方法也是千奇百怪,“百家争鸣”. fopen方式打开的比较多见,也有其他各种方式判断文件是否存在的,由于其他方法与本文无关,所以不打算提及. 笔者近来使用winapi比较多,于是顺便搜索了msdn,找到了一个函数:PathFileExists BOOL PathFileExists( _In_ LPCTSTR pszPath ); 以下是笔者最初的方法,windows api原则上提供的函数应该是最合理高效的,起码这个方法在windows平台

const int * pi/int * const pi的区别

前面有一篇文章:数组名就是常量指针 参考文章:http://blog.pfan.cn/whyhappy/5164.html const int * pi .int const * pi与int *  const  pi及其操作 1 从const int i 说起    你知道我们申明一个变量时像这样int i :这个i是可能在它处重新变赋值的.如下:int i=0;//…i=20;//这里重新赋值了    不过有一天我的程序可能需要这样一个变量(暂且称它变量),在申明时就赋一个初始值.之后我的程

对于这个函数const int func(const int&amp; a) const声明中,三个const分别是什么意思?

第一个const 函数的返回值类型是const. 这个const修饰没什么意义,你可以想象一下: 既然是函数的 返回值,而且是值传递的形式,是否const有什么意义.如果指针(引用)传递,怎表示返回值的内容不可修改:一般用在赋值操作中,例: const A& operator =() { ... }第二个const修改函数的输入参数,这样可以提高效率.如:用实参b调用const int func(const int& b) const时,将跳过调用的过程(不复制函数),而直接运行它的内容.