首页 > 编程语言 >C++ const常量指针

C++ const常量指针

时间:2024-05-09 17:47:05浏览次数:19  
标签:const 常量 指向 数据类型 C++ 指针

const常量指针

  • const是C++关键字,译为常量,const指针即为常量指针。
  • 分为三类
    • 指向const的指针
    • const指针
    • 指向const的const指针

指向const的指针

  • 表示指向区域的数据是不可变的,但是可以更换指向
  • 语法(将const卸载*之前):
    • const 数据类型 * 指针名
    • 数据类型 const * 指针名

     

    

const指针

  • 表示指针本身不可更改,但指向的数据可以更改
  • 语法(将const写在*之后):
    • 数据类型 * const 指针名 = 地址;    // 必须初始化地址,因为指针不可再修改指向

   

   

指向const的const指针

  • 指针指向和指向的区域的值,都不可更改
  • 语法(*前后都要写const):
    • const 类型 * const 指针名 = 地址;   // 必须初始化地址,因为指针不可再修改指向

  

  

使用场景:

  • 需要常量的同时也需要动态内存分配的场景
    • 因为只有使用指针,才可进行动态内存分配

标签:const,常量,指向,数据类型,C++,指针
From: https://www.cnblogs.com/1873cy/p/18182777

相关文章

  • C++ 数组元素操作
    数组元素的移除核心思路:创建一个新的内存空间存储移除后的数组,再将原数组delete释放,再将指针指向新数组。cout<<"-----------------------------数组元素的移除-------------------------"<<endl;//cout<<deleteArrByIndex(0,arr11)<<endl;//示例数组int*p......
  • C++面试考点
    c++基础1、malloc/free和new/delete的异同点?2、cpp程序运行时内存模型?答:代码区,只读的区域,是代码被翻译成二进制机器指令存储的地方;数据区,分为初始化数据区和未初始化数据区,用来存储全局变量和static变量的地方;堆区,动态内存分配的地方,new和malloc分配就是从此处分配;栈区,函数调用......
  • GCC编译C++步骤
    在使用GCC编译器编译多个源文件时,你需要将所有需要编译的源文件列出,并在命令行中将它们一起传递给GCC。GCC会将这些源文件编译成目标文件(.o文件),然后链接成最终的可执行文件或动态库。下面是一个示例命令行:bashCopycodeg++-cfile1.cppfile2.cppfile3.cpp在这个......
  • 深入浅出const和static关键字
    constconst是constant的缩写,意为不变的。在C++中是用来修饰内置类型变量,自定义对象,成员/普通函数,返回值,函数参数。C++const允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可......
  • C语言调用C++的共享库SO
    C语言调用C++的共享库SO今天在项目中,遇到了一个问题,对方提供给我们一个.h的声明文件(使用的是cpp语言),和一个动态库so。但是我们项目中用的是C语言,我们如何来调用so库中的方法呢?我们都知道,C++在设计时,兼容C语言,可以直接调用C语言库中的接口,但是C语言调用C++的接口就会比较困难,比如C......
  • C++: fatal error: Killed signal terminated program cc1plus
    C++:fatalerror:Killedsignalterminatedprogramcc1plus1.在Linux系统中进行C++编译时,出现如下报错,导致编译中止:C++:fatalerror:Killedsignalterminatedprogramcc1pluscompilationterminated.2.解决方法——swap分区查阅相关信息后,认为是虚拟机内存不足造成......
  • 131. 分割回文串-c++
    给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。示例1:输入:s="aab"输出:[["a","a","b"],["aa","b"]]示例2:输入:s="a"输出:[["a"]]classSolution{public:vector<vector......
  • 79. 单词搜索-c++
    给定一个mxn二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例1:输入......
  • C++基础-如何引入第三方静态库、动态库或自定义库 摘自 https://blog.csdn.net/u01310
    C++无论是内置库还是第三方库,都需要自己手动进行查找、配置、引入等工作。本文即是帮助完成C++项目对于库、框架如何完成依赖引入达成可调用的目的,重点讲述开发工具VisualStudio中的操作静态库(.lib)静态库引入适用用于大部分无开源的第三方库,开发者不需要关心库的具体实现如何,......
  • UEC++做拖拽时的UDragDropOperation 的PayLoad是什么
    在UnrealEngine中,使用C++进行拖拽操作时,UDragDropOperation类的Payload成员变量允许你传递与拖拽操作相关的任何类型的数据。它通常被用来存储一些关于被拖拽元素的信息,这些信息在拖拽开始时被设置,然后可以在拖拽结束时被检索和使用。Payload是一个UObject*类型的指针,这意......