
C/C++
文章平均质量分 68
学习C++
Uncertainty!!
学无止境!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类型别名与类型自动推导
简单了解类型别名、类型自动推导原创 2025-06-07 15:02:30 · 851 阅读 · 0 评论 -
C++内联函数(inline)的作用
简要理解内联函数作用原创 2025-06-04 20:23:34 · 967 阅读 · 0 评论 -
C++中的常量(const):指向常量的指针、常量指针、指向常量的常指针、顶层const、底层const、const引用、常量表达式constexpr、const成员函数、常量对象
了解c++中const的一切原创 2025-06-02 21:59:26 · 856 阅读 · 0 评论 -
c++第四章练习题
控制流程练习原创 2025-06-01 17:52:02 · 787 阅读 · 0 评论 -
c++第三章练习题
c++控制流程练习题原创 2025-05-31 19:06:34 · 885 阅读 · 0 评论 -
c++第二章练习题
c++简单练习原创 2025-05-28 15:11:12 · 986 阅读 · 0 评论 -
c++命名空间的作用及命名改编
简要了解c++命名空间的作用及命名改编原创 2025-05-24 21:49:56 · 307 阅读 · 0 评论 -
C++系统IO
简单了解c++系统io原创 2025-05-24 21:46:17 · 911 阅读 · 0 评论 -
C++编译/链接模型
了解C++编译/链接模型的核心概念原创 2025-05-24 20:33:34 · 1126 阅读 · 0 评论 -
C++性能相关的部分内容
简单了解大小端存储、对象周期精确控制、零开销抽象原创 2025-05-24 15:44:20 · 725 阅读 · 0 评论 -
c++成员函数返回类对象引用和直接返回类对象的区别
了解成员函数返回类对象引用和直接返回类对象的区别原创 2025-05-17 16:54:14 · 476 阅读 · 0 评论 -
理解c++中关键字友元friend的作用
理解c++关键字friend原创 2025-05-15 22:33:44 · 307 阅读 · 0 评论 -
c++函数参数列表后面的const的作用(常量成员函数)
理解常量成员函数作用、mutable关键字原创 2025-05-13 20:31:34 · 184 阅读 · 0 评论 -
理解c++中explicit关键字的作用
理解explicit关键字作用原创 2025-05-11 20:54:43 · 301 阅读 · 0 评论 -
C++变量和基本类型(二)
简要了解引用、指针、const限定符、常量引用、常量指针、指向常量的指针原创 2024-12-07 22:00:42 · 949 阅读 · 0 评论 -
C++变量和基本类型(一)
简要C++语法原创 2024-12-02 10:39:21 · 840 阅读 · 0 评论 -
C++ Primer 第一章习题
c++ primer 第一章部分习题原创 2024-10-03 21:51:08 · 732 阅读 · 0 评论 -
二维数组的行指针与列指针
二维数组的行指针与列指针原创 2023-10-15 16:00:42 · 1362 阅读 · 0 评论 -
汉诺塔问题
汉诺塔问题原创 2023-10-13 12:45:09 · 413 阅读 · 0 评论 -
C语言练习:输入日期输出该日期为当年第几天
回顾判断平年闰年原创 2023-09-10 10:43:27 · 744 阅读 · 0 评论 -
C语言:指针总结
指针总结部分笔记来源于王道C语言训练营指针:变量的地址指针变量:一个变量专门用来存放另一变量的地址1.指针的本质1.1 指针的定义通过取地址(指针)直接访问变量通过指针变量间接访问另一个变量1.2 取地址操作符与取值操作符注意:(1)指针变量前面的 ∗*∗ 表示该变量为指针型变量int* p=&i; //变量名为 p,该变量为指向整型数据的指针类型(int*)(2)在定义指针变量时必须指定其类型float a;//浮点型变量int* p=&a; //原创 2021-11-01 15:50:38 · 1568 阅读 · 11 评论 -
str系列字符串操作函数
1.str系列字符串操作函数笔记来源于王道C语言训练营1.1 strlen统计字符串长度1.2 strcpy将某个字符串复制到字符数组中char *strcpy(char *to, const char *from);//有const修饰,代表这个地方可以放字符串常量1.3 strcmp比较两个字符串大小(比较对应字符的ASCII码值)int strcmp(const char *str1, const char *str2);//有const修饰,代表这个地方可以放字符串常量原创 2021-10-30 21:38:38 · 467 阅读 · 0 评论 -
gets和puts函数
gets和puts函数笔记来源于王道C语言训练营1.gets函数(只能读取字符串)scanf在读取字符串时,当遇到空格后,就会匹配结束,这样没办法把一行带有空格字符串存入到一个存入到一个字符数组,由此引出 gets 函数当输入的字符串中存在空格时,需使用 gets 函数进行读取char c[20]; //c是一个字符数组,但编译器给c内部存了一个值,c里存储的值的类型是字符指针//字符数组的数组名存的就是字符数组的起始地址,类型是字符指针//&c[0] == cgets(c);原创 2021-10-30 20:37:01 · 4782 阅读 · 0 评论 -
换行符(\n)和回车符(\r)
下图来源回车符(\r)换行符(\n)\r 会等待一个键盘回车才会换行\n 不会等待键盘回车就换行了原创 2021-10-27 13:23:30 · 2901 阅读 · 0 评论 -
图解内存地址原理(简化版)
简单图解内存地址原理原创 2021-10-14 08:28:40 · 550 阅读 · 0 评论 -
Visual Studio 2019中查看变量的内存地址
Visual Studio 2019中查看变量内存地址变量所在行打断点执行程序打开内存显示窗口输入取 &a 获得a的地址值点击a的地址值拖动至内存显示窗口中,此时第一行显示的为变量 a 的存储地址点击逐过程点击逐过程后,程序执行完第4行,此时a的存储地址中存入了3如果对a再次赋值,a的存储地址变为了5...原创 2021-10-12 15:28:31 · 9476 阅读 · 3 评论 -
关于 scanf 的匹配规则问题
关于 scanf 的问题C语言通过 scanf 函数读取键盘输入,键盘输入又被成为标准输入当 scanf 函数读取标准输入时,如果还没有输入任何内容,那么 scanf 函数会被卡住(专业用语为阻塞)无标准输入时,scanf会被阻塞标准输入为10当在10后输入回车,scanf才会执行IO操作由下面的例子引出问题正常情况下,输入一个数字后,将其打印出来,接着会阻塞,scanf再次等待标准输入,而后打印输入的c但实际情况如上图,打印完第一个数字后,并没有阻塞等待标准输入注意到原创 2021-10-13 16:02:25 · 664 阅读 · 0 评论 -
程序的编译过程(流程图)
程序从编写到可执行中间主要有两步流程: 1.编译 2.链接原创 2021-10-12 14:42:52 · 2131 阅读 · 0 评论 -
透彻理解:C/C++中参数传递:传值、传地址、传引用
再理解:C/C++中参数传递:传值、传地址1.参数传递:传值(C/C++)#include<stdio.h>void swap(int m,int n){ printf("形参交换前m=%d n=%d\n",m,n); int temp; temp=m; m=n; n=temp; printf("形参交换后m=%d n=%d\n",m,n);}void main(){ int a,b; printf("请输入a,b两个实参值:"); scanf("%d %d",&a原创 2021-10-09 09:03:37 · 2290 阅读 · 0 评论 -
CLion中调试操作
1.设置断点2.单步调试1.逐条运行3.显示所有断点4.清除所有断点5.自动变量6.将新参数加入到函数声明中(自动函数声明)7.定义常量快捷键8.重构操作9.基础调试方法9.1打开项目9.2配置参数10.工具窗口工具栏代码结构工程结构11.菜单栏将冗长代码赋值给一个变量,今后直接用此变量代替所替换的冗长代码...原创 2021-04-27 16:03:54 · 1963 阅读 · 0 评论 -
指针和指针变量
指针(指针变量)1.变量与指针2.指针变量的赋值有一个变量装满存放另一个变量的地址,则称它为指针变量指针变量的定义定义时 * 表示该变量为一个指针变量类型说明 * 变量名int *p;指针变量的赋值地址运算符 & 表示变量的地址(1)定义指针变量的同时进行赋值int a;int *p = &a; //定义时 * 表示该变量为指针变量(用来存其他变量的存储地址)(2)先定义指针变量之后再赋值int a;int *p;p = &a; //这一行是原创 2021-07-22 19:49:51 · 274 阅读 · 0 评论 -
IO类
目录1. IO类1.1 IO对象无拷贝或赋值1.2 条件状态1.2.1 查询流的状态1.2.2 管理条件状态1.3 管理输出缓冲1.3.0 刷新缓冲区unitbuf操纵符(每次输出操作后都刷新缓冲区)1.3.1 关联输入和输出流1. IO类1.1 IO对象无拷贝或赋值ofstream out1, out2; //ofstream向文件写入数据,out1和out2为oftream的两个对象out1 = out2; //错误:不能对流对象赋值ofstream print(ofstream); //原创 2021-04-24 15:44:57 · 311 阅读 · 0 评论 -
类的静态成员
1. 类的静态成员有时类需要它的一些成员与类本身直接相关,而不是与类的各个对象保持关联例如:一个银行账户类可能需要一个数据成员来表示当前的基准利率。我们希望利率与类关联,而非与类的每个对象关联。从实现效率的角度看,没必要每个对象都存储利率信息。更重要的是,一旦利率浮动,希望所有对象都能使用新值1.1 声明静态成员在成员的声明之前加上关键字 static 使得其与类关联类的静态成员存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据例如:定义一个类,用它表示银行的账户记录class原创 2021-04-18 21:43:47 · 1036 阅读 · 0 评论 -
构造函数再探
目录1. 构造函数再探1.1 构造函数初始值列表1.1.0 成员初始化的顺序1.2 委托构造函数1.3 隐式的类类型转换 (参数类型向类类型隐式转换)1.3.0 只允许一步类类型转换1.3.1 抑制构造函数定义的隐式转换1.3.2 explicit 构造函数只能用于直接初始化1.3.3 为了转换,显式地使用构造函数1.4 聚合类1.5 字面值常量类1.5.0 constexpr 构造函数1. 构造函数再探1.1 构造函数初始值列表class ConstRef(int ii){public: //:原创 2021-04-18 19:25:28 · 213 阅读 · 0 评论 -
类的作用域
1. 类的作用域在类的作用域之外对于普通数据和函数成员,只能由对象、引用、指针使用成员访问运算符( . )来访问对于类类型成员,则使用作用域运算符( :: )访问//pos成员(类型别名)在类Screen的作用域内Screen::pos ht = 24, wd = 80;Screen scr(ht, wd, ' '); //类名 构造函数,构造出窗口scrScreen *p = &scr;char c = scr.get(); //访问scr对象的get成员c = p->原创 2021-04-12 23:04:45 · 1174 阅读 · 0 评论 -
类的其他特性
1. 类的其他特性这些特性包括:类型成员类成员的类内初始值可变数据成员内联成员函数从成员函数返回*this定义并使用类类型友元类1.1 类成员再探1.1.0 定义一个类型成员(先定义后使用)Screen表示显示器中的一个窗口string保存Screen内容三个string::size_type类型的成员,分别代表光标的位置以及屏幕的高和宽class Screen{public: //类型成员的定义,类型别名 typedef std::string::size_type原创 2021-04-12 15:11:15 · 489 阅读 · 0 评论 -
访问控制与封装
目录1. 访问控制与封装1.1 访问说明符1.2 友元(friend) (只能出现在类定义的内部)1.3 封装的益处1. 访问控制与封装1.1 访问说明符在C++中,使用访问说明符加强类的封装性public :定义在此访问说明符之后的成员在整个程序内可被访问,public成员定义类的接口private :定义在此访问说明符之后的成员可被类的成员函数访问,不能被使用该类的代码访问,private部分封装了类的实现细节//struct和class仅仅是形式上的不同,唯一的区别就是二者的默认访问权原创 2021-04-11 15:45:35 · 214 阅读 · 0 评论 -
定义抽象数据类型
1. 定义抽象数据类型原创 2021-04-11 14:25:52 · 2378 阅读 · 0 评论 -
类简介
目录1. 类简介1.1 Sales_item 类1.1.0 读写 Sales_item1.1.1 Sales_item 对象的加法(两个对象的成员对应相加)1.2 初识成员函数(成员方法)书店程序1. 类简介通过定义一个类(class)来定义自己的数据结构一个类定义了一个类型,以及与其相关联的一组操作使用类,需了解三件事情:类名是什么?在哪里定义的?支持什么操作?以下均已Sales_item举例来介绍类对于书店程序来说,假定类名为 Sales_item ,头文件 Sales_item.原创 2021-04-10 18:00:55 · 230 阅读 · 0 评论 -
CMake基础
单文件第三方库举例:多文件目录自己生成库将去畸变函数封装成第三方库lib_undistort.lib供调用举例:高翔博士github中CMakeLists.txt内容find_package找到库的路径include_directories中的${LIBRARYNAME_INCLUDE_DIRS}被find_package找到的路径替代,LIBRARYNAME用具体库名代替${PROJECT_SOURCE_DIR}/include前面变量会被替代,然后完整路径...原创 2021-04-10 16:42:40 · 96 阅读 · 0 评论