首页 > 编程语言 >[c++]从完全不会到似懂非懂

[c++]从完全不会到似懂非懂

时间:2023-05-03 17:57:05浏览次数:40  
标签:const 常量 int 完全 修改 似懂非懂 c++ 类型 指针

1. 指针

1.1 指针常量

使用int * const p = &a;的模式,指针常量是常量,所以p对应的常量为a的地址,因此a可变,但地址不可变。

1.2 常量指针

使用const int *p = &a的模式,其实这里和const无关,p只是个指针,该指针的类型是const int类型,因此p可以修改指针指向其他的const int类型,但无法修改指向的内存中的值(可以通过其他的引用来修改,const可以指向非const,非const不可指向const)。

2. 结构体

结构体const

为了防止在函数中修改原本的结构体内容,因此需要将函数的形参声明为const类型,即const struct student *p,也就是p指针的类型是const struct student *类型,因为无法修改结构体。联想到Android开发中的局部变量final修饰,表示以后对该变量仅有只读操作,强调只读性。

标签:const,常量,int,完全,修改,似懂非懂,c++,类型,指针
From: https://www.cnblogs.com/wuxero/p/17369205.html

相关文章

  • C++/PTA 函数重载(数据类型不同)
    题目要求用同一个函数名对n(n<=10)个数据进行从小到大排序,数据类型可以是整数、浮点数,用函数重载实现。输入格式:输入n例如3输入n个整数,例如1089输入n个浮点数例如10.235.167.99输出格式:输出n个整数的升序排列:8910以空格间隔,并以空格结尾换行,输出n个浮点数的升......
  • C++-[override]关键字使用详解
    本文介绍了C++override关键字使用详解以及与重载的区别。C++override关键字使用详解一、override作用二、override在基类与派生类的应用2.1.纯虚函数2.2.普通虚函数2.3.Override重写三、Override实例四、C++中重载(overload)与覆盖(override)4.1.重载(overload)4.2.重写/覆......
  • C++ 11 :override 关键字的使用
    override关键字作用:在成员函数声明或定义中,override确保该函数为虚函数并覆写来自基类的虚函数。位置:函数调用运算符之后,函数体或纯虚函数标识“=0”之前。使用以后有以下好处:1.可以当注释用,方便阅读2.告诉阅读你代码的人,这是方法的复写3.编译器可以给你验证override......
  • c++ 自由储存区和堆
    在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区谈到自由存储区与堆的区别,就需要了解new与malloc的区别。实际上堆是C语言的关键术语,是操作系统所维护的一块特殊内存,它提供了动态分配的功能。用户使用malloc进行堆内存申请,使用free实现堆内存的释......
  • 【C++】设立一组状态,在程序运行过程中设置对象的某个状态,检查对象是否满足所有的状态
    `#include//定义状态枚举enumState{STATE_A=1<<0,//0001STATE_B=1<<1,//0010STATE_C=1<<2//0100};classMyClass{private:intcurrentState;public:MyClass():currentState(0){}//设置状态voidsetState(Statestate){......
  • vcpkg:一站式C++库管理,简化工作流程
    简介vcpkg是一个用于在Windows系统上管理C++库的开源工具。它允许开发人员通过简单的命令行界面安装、管理和卸载各种C++库,并自动解决它们的依赖关系。vcpkg拥有一个庞大的库集合,包括Boost、OpenCV、Qt、SDL2等等,而且不仅限于Windows平台,还支持在Linux和macOS上进行交叉编译。......
  • AcWing 725. 完全数
    AcWing725.完全数1.地址https://www.acwing.com/problem/content/description/727/2.题解#include<iostream>#include<cstdio>#include<cmath>usingnamespacestd;//注意:这道题如果暴力解法一定TLE//因此,我们需要对其进行优化intmain(){intn;......
  • 万字知识长文:ChatGPT 从零完全上手实操指南
    ChatGPT的横空出世,让很多人焦虑不已,不过,你完全不需要为此焦虑,因为比AI更强大永远是驾驭AI为自己所用的人类。而且 GPT 远没有各大商家炒作的那么玄乎 ,它应用逻辑也非常简单。今天我就用一篇文章带你掌握GPT的用法,本文无废话,全程干货,全部都是实操,纯小白也能看懂。只要......
  • C++文件读写常用操作整理
    C++对于文件的操作需要包含<fstream>头文件文件类型分为两种:文本文件-文件以文件的ASCII码的形式存储在计算机中二进制文件-文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作ifstream:读操作fstream:读写操作一、文......
  • C++杂谈:STL
    五一快乐。终于有时间整理一点东西了,笔者这个五一过得是相当初生。大部分人都玩去了,只有我还在赶ddl的世界达成了qwq。不过我觉得还是做了自己想做的事情的。稍微记录一些前段时间OOP遇到的STL里面乱七八糟的东西。STL的一些底层实现vector这个谁都知道,是一个堆上分配的数组,......