首页 > 编程语言 >c++const关键字

c++const关键字

时间:2022-12-25 19:34:11浏览次数:43  
标签:p2 p1 const 常量 int c++ 关键字 指针

1、用来定义常量

2、定义常量指针

不可通过常量指针修改其指向的内容

int n, m;
const int *p = & n;
//编译出错,通过常量指针p修改了n的值是不允许的
* p = 5;
n = 4;
//常量指针的指向可以改变
p = &m;

不能把常量指针赋值给非常量指针,反过来却是可以的,原因是一半常量指针所指向的内容是不允许被修改的。

const int *p1;
int *p2;
p1 = p2;
//这样是错误的
p2 = p1;
//进行强制类型转换之后则可以
p2 = (int*)p1;

函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容

void MyPrintf(const char *p)
{
  //编译出错,可能会p所指向的内容
  strcpy(p, "this");
  printf("%s", p);
}

标签:p2,p1,const,常量,int,c++,关键字,指针
From: https://www.cnblogs.com/cxy8/p/17004430.html

相关文章

  • C++11:支持函数模板的默认模板参数
    在C++98/03标准中,类模板可以有默认的模板参数,如下:template<typenameT,typenameU=int,UN=0>structFoo{//...};但是却不支持函数的默认模板参数:te......
  • 浅谈 C++ 模板 & 泛化 (妈妈再也不用担心我不会用 std::sort 了)
    基础复习先上个对int类型数组的插入排序:voidinsertionSort_01(int*seq,intfirstIndex,intlastIndex){for(intj=firstIndex+1;j<=lastIndex;++j......
  • C++中头文件由来及使用细节
    在刚学习C++的时候,无法一下子习惯头文件’.h’这个东西,因为在C#中,通常函数/变量的声明和实现都是写在一起的,跨.cs文件调用其他类成员时,编译器并不会冒出’未找到该......
  • C++类模板、函数模板
    类模板的声明需要template<typename类型参数>,等于C#中的泛型类,如List<T>。template<typenameT>classComplex{public://构造函数Complex(Ta,Tb)......
  • Vscode c/c++环境
    最简单的环境,用vscode插件compilec/c++,只支持单个文件,不能调试,插件主页很短一看就懂单个文件我比较喜欢用命令行编译和运行/调试多个文件cmake/makefile mac调试-lld......
  • C++进阶(unordered_set+unordered_map模拟实现)
    unordered_setunordered_set是以无特定顺序存储唯一元素的容器,并且允许根据它们的值快速检索单个元素,是一种K模型。在unordered_set中,元素的值同时是它的key,它唯一地标......
  • C/C++ATM取存款机模拟程序
    C/C++ATM取存款机模拟程序ATM取存款机模拟程序要求:设计一个程序,当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM取款机系统,用户可以按照以下规则进......
  • C/C++特色家政服务管理系统
    C/C++特色家政服务管理系统30、特色家政服务管理系统【问题详述】家政公司针对新建住宅区推出“安心入住”清扫特色家政服务,为房主清扫新装修的住房,让房主能安心地搬入......
  • C/C++通讯录管理系统
    C/C++通讯录管理系统通讯录管理系统设计题目:通讯录管理系统设计实现功能:1.创建一个通讯录(单链表的创建)。2.显示通讯录中所有联系人的信息和按组显示具体组的联系人信息......
  • C++面向对象程序设计实训(实习)[2022-12-25]
    C++面向对象程序设计实训(实习)[2022-12-25]面向对象程序设计实训(实习)PracticalTrainingofObject-OrientedProgramming1、实习基本要求(1)学生自由组1人小组按照以下要......