C++/C
文章平均质量分 53
Tang Paofan
这个作者很懒,什么都没留下…
展开
-
C++ 继承
但是子类的指针如果指向父类,访问_name和_age时不会有问题,访问到_num时就会超出父类对象的范围,越界访问,所以编译器禁止了子类指针指向父类对象。PS:构造和析构调用顺序,构造子类对象时,先调用父类的构造函数,再调用子类的构造函数,清理对象时,先调用子类的析构函数,再调用父类的析构函数。简单来说:基类实际上是派生类的共性,将其它类都有的属性和方法进行提取,再定义其它类时只需要继承父类,并写出该类独有的属性即可。继承是类设计层次的复用。,这样产生的类,称为派生类,被继承的类称为基类或父类。原创 2024-02-19 22:09:30 · 902 阅读 · 0 评论 -
C 检查小端存储还是大端
我们首先定义了一个无符号整数i并将其初始化为1。然后,我们创建了一个字符指针c并将其指向i的地址。由于c是一个字符指针,所以它只会指向i的第一个字节。如果系统是小端字节序,那么最低位字节将被存储在内存的最低地址,所以。如果系统是大端字节序,那么最高位字节将被存储在内存的最低地址,所以。该程序就是利用了强转舍弃。原创 2024-02-05 00:11:22 · 588 阅读 · 0 评论 -
C语言联合体将两个8位数据合成一个16位数据
将一个字节数据合成多字节数据,使用场景不多,但总会遇到。原创 2024-02-05 00:02:31 · 817 阅读 · 0 评论 -
C++ 匿名函数
匿名函数,顾名思义就是没有名字的函数,又名Lambda。为什么使用匿名函数,优点如下。原创 2024-01-24 00:09:10 · 1498 阅读 · 0 评论 -
C++左值和右值
c++中根据表达式使用场景不同,分为左值和右值(其实还有将亡值)。左值的英文简写为“lvalue”,右值的英文简写为“rvalue”。很多人认为它们分别是"left value"、“right value” 的缩写,其实不然。lvalue 是“locator value”的缩写,可意为存储在内存中、有明确存储地址(可寻址)的数据,而 rvalue 译为 “read value”,指的是那些可以提供数据值的数据(不一定可以寻址,例如存储于寄存器中的数据)。原创 2024-01-23 00:32:19 · 378 阅读 · 0 评论 -
c++ auto
使用auto会帮助我们大大缩减代码长度(我是这么认为的doge)原创 2024-01-21 23:11:03 · 412 阅读 · 0 评论 -
C++ const使用
const表示可读,但不能修改修饰的内容不同,自然有不同的作用。原创 2024-01-21 22:45:23 · 353 阅读 · 0 评论 -
c++ define 用法
宏定义分为有参和午餐,一般而言无参更多用constexpr代替无参#define 标识符 字符串// example有参#define 宏名# define 宏名(形参表) 字符串 // example # define add(x + y)(x + y)# define 宏名(形参表) 字符串 // example # define add(x + y)(x + y)# define 宏名(形参表) 字符串 // example # define add(x + y)(x + y)原创 2024-01-12 00:22:28 · 445 阅读 · 0 评论 -
c++ 智能指针 shared_ptr
接着上篇。原创 2024-01-04 23:16:59 · 381 阅读 · 0 评论 -
c++ 智能指针 unique_ptr
使用指针时很容易出现内存泄漏,便引入了智能指针,c++ 11中主要有三类。原创 2024-01-04 22:50:23 · 534 阅读 · 0 评论 -
c++ 填充字符 memset fill
原因:memset中的val是采用无符号形式字符形式表示,即val为多少,只取一个低位字节至于为什么0和-1就可以了,建议看下内存中数据存储方式(补码)0 -> 补码: 0000 0000 0000 0000 0000 0000 0000 0000-1-> 补码: 1111 1111 1111 1111 1111 1111 1111 1111。原创 2024-01-03 00:51:08 · 585 阅读 · 0 评论 -
动态库 静态库
静态库:编译器将数据和函数编译为而二进制文件(.lib),在编译链接可执行文件(.exe)时,编译器从静态库中复制这些函数和数据,并把他们和应用程序的其他模块结合起来,创建最终的可执行文件(.exe),当产品发布时只需要.exe即可。动态库:动态库一般包含引入库(.lib,非静态库)和.dll文件,引入库包含导出的函数和变量的符号名,.dll包含实际的函数和数据。原创 2023-08-16 19:54:19 · 71 阅读 · 0 评论 -
c++ 遍历文件夹
本人使用该方法无法遍历,hFile值为1,不明就里。使用_findfirst和_findnext。不得不说winapi大法好。原创 2023-12-27 16:00:20 · 451 阅读 · 0 评论 -
c++ 记录耗时类
【代码】c++ 记录耗时类。原创 2023-12-27 11:32:04 · 328 阅读 · 0 评论 -
vector内容整理
C++语言之vector内存分配技术C++vector的reserve和resize比原来的容量小【C++】vector的reserve()和resize()用法vector 删除元素的几种方法std::vector.resize()函数修改vector大小和新增元素,不影响已有元素原创 2023-10-26 21:34:35 · 30 阅读 · 0 评论 -
c++ vector push说明
vector的push有两种情况,若源数据在栈上创建,则拷贝值,若源数据在堆上创建,则拷贝其指向的地址原创 2023-08-25 15:07:20 · 574 阅读 · 0 评论 -
c++ 日志类
【代码】c++ 日志类。原创 2023-12-27 11:30:56 · 389 阅读 · 0 评论 -
C++类模板的声明和定义为什么要放在同一个文件
ps:模板是在需要的时候,才会去生成一个具体化的实例的,比如,你只要一个int型的实例,模板就只会给你生成一个int型的实例,模板本身是不会被执行的(也就是模板本身不产生汇编指令),是模板生成的具体化实例才产生指令(这个实例是隐藏的,我们是看不到的)1、C++编译器在编译代码时是以cpp为单位的,参与编译的只是.cpp文件,不会报错的原因,是因为它能在.h里面找到模板的声明。2、而模板的实现.cpp里面,虽然有模板的具体实现,但是没有谁在该.cpp里面使用一个模板函数,就不会生成一个具体化的实例。原创 2023-12-27 18:08:11 · 404 阅读 · 0 评论 -
c++ 控制台 活动指标 进度条
第一版光标会闪烁,因此改进,完成第二版。原创 2023-12-13 15:57:00 · 373 阅读 · 0 评论