随笔分类 -  cpp

摘要:C++ explicit关键字 explicit关键字是什么 explicit是C++中的一个关键字,它用来修饰只有一个参数的类构造函数,以表明该构造函数是显式的,而非隐式的。当使用explicit修饰构造函数时,它将禁止类对象之间的隐式转换,以及禁止隐式调用拷贝构造函数。 这能这么说,大家不太好理 阅读全文
posted @ 2024-11-07 11:33 ihuahua1415 阅读(103) 评论(0) 推荐(0) 编辑
摘要:C++智能指针 以引用计数为基础的智能指针,引用计数的管理逻辑如下: 除了初始化对象本身外,每个构造函数(拷贝构造函数除外)还要在堆上创建一个引用计数,用来记录有多少个对象共享状态。当我们创建一个对象时,只有一个对象共享状态,因此将引用计数初始化为 1; 拷贝构造函数不分配新的计数器,而是拷贝给定对 阅读全文
posted @ 2024-11-06 22:01 ihuahua1415 阅读(27) 评论(0) 推荐(0) 编辑
摘要:C/C++中的volatile 约定 Volatile 这个话题,涉及到计算机科学多个领域多个层次的诸多细节。仅靠一篇博客,很难穷尽这些细节。因此,若不对讨论范围做一些约定,很容易就有诸多漏洞。到时误人子弟,就不好了。以下是一些基本的约定: 1 这篇博文讨论的 volatile 关键字,是 C 和 阅读全文
posted @ 2024-11-06 21:43 ihuahua1415 阅读(19) 评论(0) 推荐(0) 编辑
摘要:指针常量和常量指针 介绍 推荐一个文章,有介绍指针常量和常量指针,本文就不做另外的篇幅去介绍 彻底理解——指针常量和常量指针、指向常量的常指针-CSDN博客 区分的方法 该方法简单好用,掌握了以后就再也不会分不清这两个东西了 只要记住这句话:const默认是修饰它左边的符号的,如果左边没有,那么就修 阅读全文
posted @ 2024-10-26 22:50 ihuahua1415 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Cmake Cmake变量 Cmake的基本类型只有两种,分别是字符串和字符串列表,使用set命令来设置变量 set(var abc) # abc是字符串,var是值为“abc”的字符串变量 set(var a b c) # var是包含a b c三个元素的字符串列表 set(var a;b;c) 阅读全文
posted @ 2024-09-14 16:18 ihuahua1415 阅读(69) 评论(0) 推荐(0) 编辑
摘要:Makefile 目录Makefile0.基本介绍0.0 基本格式0.1 Makefile规则0.2 伪目标1.makefile变量1.1 变量的定义1.2 变量的引用1.3 预定义变量2.Makefile常用符号=:=?=+=\* 与 %3.Makefile常用函数3.1 shell3.2 sub 阅读全文
posted @ 2024-09-14 09:43 ihuahua1415 阅读(21) 评论(0) 推荐(0) 编辑
摘要:字符串读取方法记录 记录 个人小结: 按整行读到string ,推荐用 方法2 getline(cin, string) 按整行读到char[] ,推荐用 方法4 cin.getline(cin, char*) 读单个字符串,推荐用 cin>> 啰嗦解释如下: 按行读 方法2 getline(cin 阅读全文
posted @ 2024-08-17 22:55 ihuahua1415 阅读(11) 评论(0) 推荐(0) 编辑
摘要:小端模式和大端模式 参考文章: 1.详解大端模式和小端模式 - little white - 博客园 (cnblogs.com) 2.数据存储:小端模式和大端模式——终于搞明白了!!!_(1)二进制(1101001011)位序存储的小端与大端模式是?-CSDN博客 什么是大端和小端 举一个例子,比如 阅读全文
posted @ 2024-04-13 22:01 ihuahua1415 阅读(125) 评论(0) 推荐(0) 编辑
摘要:const指针 const关键字 1.const int p const int p 与 int const p 是等价的。 用const修饰变量 p 时,则 p 成为只读变量,必须在定义的同时初始化,不能在其他地方被重新赋值。 即这个变量就只能作为右值(赋值给别人),不能成为左值(接收别人的赋值) 阅读全文
posted @ 2024-04-12 16:25 ihuahua1415 阅读(10) 评论(0) 推荐(0) 编辑
摘要:数据类型的扩充和截断 注:搬运自【C语言】数据类型的扩充和截断_以数据内部存储格式说明计算机中不同数据类型之间转换截断的概念-CSDN博客,自用 (一)数据类型扩充 (1)表示范围小的整型变量赋值给表示范围大的整型变量 前提: 不改变值的正负 不改变值的大小 规则: 无符号整数,直接补0。 有符号整 阅读全文
posted @ 2024-04-11 22:11 ihuahua1415 阅读(23) 评论(0) 推荐(0) 编辑
摘要:C++思维导图 整个的思维导图大概的架构如下,Xmind、SVG、PDF格式的下载链接都在下面了,如有需要可自取 Xmind文件分享:https://cnblogs-img.oss-cn-hangzhou.aliyuncs.com/img/C%2B%2B.xmind PDF文件分享:https:// 阅读全文
posted @ 2023-11-03 20:35 ihuahua1415 阅读(179) 评论(0) 推荐(0) 编辑
摘要:位运算符 所谓的位运算其实是就是针对于二进制数据的运算。在 C 语言中,常用的位运算符有以下几种: 按位与运算符:& 按位或运算符:| 按位异或运算符:^ 按位取反运算符:~ 左移运算符:<< 右移运算符:>> 按位与 按位与运算(&)是对两个操作数的每个二进制位进行与操作,只有当对应位上的两个操作 阅读全文
posted @ 2023-09-08 16:01 ihuahua1415 阅读(36) 评论(0) 推荐(0) 编辑
摘要:数据类型 整型 和数学的概念一样,在C语言中,整数是没有小数部分的数。计算机以二进制数字储存整数,例如,整数 7 以二进制写是 111。因此,要在8位字节中储存该数字,需要把前 5 位都设置成 0,后 3 位设置成 1。 整形家族 关于变量的定义方式前面已经详细讲过了,把具体的数据类型放到变量名前面 阅读全文
posted @ 2023-09-08 16:01 ihuahua1415 阅读(55) 评论(0) 推荐(0) 编辑
摘要:预处理 程序编译的四个阶段 预处理(Preprocessing):在这个阶段,预处理器会处理源代码中的预处理指令,包括宏展开、文件包含、条件编译等。 编译(Compilation):在编译阶段,编译器将预处理后的代码转换为汇编语言或机器语言。 汇编(Assembly):在汇编阶段,汇编器将目标代码转 阅读全文
posted @ 2023-09-08 16:01 ihuahua1415 阅读(105) 评论(0) 推荐(0) 编辑
摘要:众所周知,Linux的目录是一个树状结构,了解数据结构的小伙伴都明白,遍历一棵树最简单的方式是递归。在我们已经掌握了递归的使用方法之后,遍历树状目录也不是一件难事儿。 Linux给我们提供了相关的目录遍历的函数,分别为:opendir(), readdir(), closedir()。目录的操作方式 阅读全文
posted @ 2023-09-08 16:00 ihuahua1415 阅读(146) 评论(0) 推荐(0) 编辑
摘要:多文件编程 代码模块化 当需求比较复杂的时候或者做一个比较大的项目的时候,不可能将所有的源码都写到一个文件中,此时就需要进行模块化处理,思路如下: 将需求拆分成若干个小模块,每个模块对应一个源文件 给每个源文件提供一个头文件,通过这种方式实现函数的复用 头文件进行函数声明 源文件进行函数定义 假设我 阅读全文
posted @ 2023-09-08 16:00 ihuahua1415 阅读(19) 评论(0) 推荐(0) 编辑

*/
点击右上角即可分享
微信分享提示