排序
new和malloc的区别
语法和返回类型: new: new 是C++中的关键字,用于动态分配内存并返回相应类型的指针。 new 返回的是具体类型的指针,不需要进行类型转换。 malloc: malloc 是C语言中的函数,用于分配指定字...
c++中的struct和class有什么区别
默认访问权限: struct: 默认的访问权限为 public。结构体中定义的成员,默认是公共的。 class: 默认的访问权限为 private。类中定义的成员,默认是私有的。 成员和继承权限: struct: 成员...
C++虚函数机制的基本原理和使用方式
C++中的虚函数机制是为了实现多态性(Polymorphism)的一种机制。 在C++中,通过使用虚函数,可以在运行时确定调用的是哪个版本的函数,从而实现动态绑定。 以下是C++虚函数机制的基本原理和使...
弱指针主要特点和用途有哪些
弱指针(Weak Pointer)是 C++11 引入的一种智能指针,用于解决 std::shared_ptr 可能引发的循环引用问题。 与 std::shared_ptr 不同的是,弱指针并不增加引用计数,因此不会影响对象的生命周期...
引用计数怎么实现,在哪里?
引用计数(Reference Counting)是一种内存管理技术,它主要用于跟踪对象被引用的次数。 在引用计数中,每个对象都有一个计数器,记录着当前对象被引用的次数。 当对象被引用时,计数器加1;当...
gcc的编译过程详解
预处理(Preprocessing) 输入文件:源代码文件(通常以 .c、.cpp、.c++、.h 等为扩展名)。 处理工具:预处理器(cpp)。 过程:预处理器会执行一系列的预处理操作,包括宏替换、文件包含、条...
gdb怎么调试的?打断点用什么指令?
编译时添加调试信息:在编译程序时,需要使用-g选项,以便将调试信息嵌入可执行文件中。例如: g++ -g -o my_program my_program.cpp 启动 GDB:在终端中执行以下命令: gdb ./my_program 这将...