C++
文章平均质量分 62
我是一个热爱C++编程的作者,将在这个专栏中分享关于C++的各种知识、技巧与经验。
川谷_
这个作者很懒,什么都没留下…
展开
-
C++ static关键字
一般情况下,对于,并且局部的生命周期在包含语句块执行结束时便结束了。但是如果用。但是需要注意的是,虽然用static对局部变量进行修饰之后,其生命周期以及存储空间发生了变化,。原创 2024-02-23 17:45:16 · 316 阅读 · 0 评论 -
C++ const关键字
在C++中,const是一个关键字,用于声明常量或者修饰变量、指针、引用等,表示其数值是不可修改的。原创 2024-02-24 18:45:34 · 382 阅读 · 0 评论 -
C++ 左值引用和右值引用
1、引用是别名2、声明时必须初始化3、通过引用修改变量4、引用的本质是指针常量三、区分左值和右值1、左值可以在等号左边,能够取地址,具名;比如变量名、返回左值引用的函数调用、前置自增/自减、赋值运算符、解引用等2、右值只能在等号右边,不能取地址,不具名;右值分为纯右值和将亡值,纯右值比如字面值、返回非引用类型的函数调用、后置自增/自减等1、将亡值是C++11引入的一种新的引用类型,用于支持移动语义的实现;2、在C++中,表达式具有值的属性,可以分为左值和右值。原创 2024-02-02 15:40:30 · 1002 阅读 · 0 评论 -
C++ new / delete ,malloc / free 区别
。原创 2023-11-26 21:10:39 · 469 阅读 · 1 评论 -
C++ 程序编译过程
汇编程序生成的目标文件,即.o文件,并不会立即执行,因为可能出现.cpp文件中的函数引用了另一个.cpp文件中定义的符合或者调用了某个库文件中的函数。将源代码中的预处理指令(如#include、#define等)处理后生成新的代码文件,同时生成一个名为“编译指令”的文件。汇编器依赖符号表中的信息来处理变量名和函数名,并将它们转化成地址。编译器进行语法分析、语义分析等操作并且产生符号表。原创 2023-11-11 20:08:31 · 256 阅读 · 1 评论 -
C++11 std::function
std::function是C++11中的一个模板类,它是一种可调用对象的封装器,可以将各种可调用对象(如函数、函数指针、函数对象、lambda表达式)作为参数类型,并将他们存储在对象内部,从而实现对这些可调用对象的封装和管理。原创 2023-11-02 15:18:04 · 440 阅读 · 1 评论 -
C++ 二进制数据序列化和反序列化
1、序列号可以将数据转换为一种格式,使其容易通过网络进行传输和存储。反序列化则可以将序列化后的数据还原为原始形式,以便后续进行处理。2、内存中对象转换为二进制数据:当需要将对象的状态传输到远程机器,或将其存储在磁盘上时,就需要将对象转换为二进制数据。3、二进制数据转换为内存中的对象:当需要从远程机器或磁盘中读取对象状态时,需要将已序列化的二进制数据转换为原始对象。三、为什么需要读数据进行序列化和反序列化处理。数据反序列化:从字节流恢复成原来的对象。二、什么是数据序列化和数据反序列化。五、数据反序列化处理。原创 2023-10-31 21:58:08 · 920 阅读 · 1 评论 -
C++ 多态
1、当一个类中包含有虚函数时,编译器会给该函数生成一个虚函数表,保存该类中虚函数的地址,通过,派生类继承基类,也会继承基类的虚函数,所以编译器也会为派生类生成一个虚函数表。1、C++的多态分为静态多态和动态多态。动态多态是指子类重写虚函数来实现的,因为是在运行期间决定函数调用的,所以称为动态多态,比如重写。C++多态的表象,在基类的函数前加上virtual关键字,在派生类重写该函数,运行时根据对象的实际类型来调用相应的函数,如果对象类型时派生类,则调用派生类的函数,如果是基类,则调用基类的函数。原创 2023-11-06 14:31:54 · 24 阅读 · 0 评论