- 博客(31)
- 收藏
- 关注
原创 windbg常用命令
scriptload : 加载 JavaScript 脚本。windbg -p : 按进程 ID 启动调试。windbg -pn : 按进程名称启动调试。F10: 单步执行,不进入函数(相当于 p)。F11: 单步执行,进入函数(相当于 t)。process 0 0: 列出所有进程。kp: 显示带参数和调用约定的堆栈调用。process: 列出当前系统的进程。lmv: 列出加载的模块及其详细信息。handle: 列出当前进程的句柄。thread: 列出当前进程的线程。.logopen : 打开日志文件。
2024-08-07 22:27:04 554
原创 g++常用命令
g++ 是 GNU 编译器集合(GCC)中的 C++ 编译器,提供了丰富的选项来控制编译和链接过程。以下是一些常用的 g++ 编译命令及其解释
2024-08-03 20:57:06 1295
原创 CMake常用命令
CMake 支持多种编译器和操作系统,可以支持包括 Windows、Linux、macOS 以及各种嵌入式系统,也可以使用不同的编译器,比如 GCC、Clang、MSVC 等,生成如 Makefile、Visual Studio 项目文件等各种构建工具所需的配置文件。CMake 是一个跨平台的开源构建系统,它被设计用来控制软件的编译过程,使用与编译器无关的配置文件来生成本地的构建文件。CMake 提供了丰富的字符串处理功能,通过这些命令,你可以方便地进行字符串的各种操作,如连接、替换、匹配、转换大小写等。
2024-08-02 17:22:08 985
原创 C++多态及底层实现原理
前两天去面试,面试官问到多态是如何实现的,以下依次讲解多态基本概念、虚函数表的工作原理,以及利用IDA反编译exe讲解汇编指令来清晰底层实现原理。多态性(Polymorphism)是面向对象编程中的一个重要概念,它允许对象以多种形式存在。C++中的多态性主要通过继承和虚函数来实现。多态性使得一个基类指针或引用能够指向派生类的对象,并调用派生类的成员函数。这样,程序可以在运行时决定调用哪个函数,从而实现动态绑定。
2024-08-01 16:59:17 731
原创 【报错解决】Sql server 2022连接数据库时显示证书链是由不受信任的颁发机构颁发的
连接数据库时报错:证书链是由不受信任的颁发机构颁发的。原因是尝试使用不可验证的证书与 SQL Server 建立加密连接时,会发生此错误。再点连接,就可以直接进入页面了。
2024-07-31 18:37:38 5850
原创 C++头文件
C++ 头文件是一个文件,其中包含了函数、类、变量和宏等的声明。头文件的主要目的是将代码的声明与实现分离,以便于代码的组织和重用。头文件通常使用 .h 或 .hpp 扩展名。
2024-07-29 16:49:23 517
原创 C++ std::vector及使用时的常见优化策略
是 C++ 标准模板库(STL)中的一个动态数组容器。它提供了动态大小调整和高效的随机访问功能,非常适合需要频繁插入、删除和访问元素的场景。是在头文件中定义的,并且位于 std 命名空间中。
2024-07-24 18:41:03 1026
原创 C++箭头运算符->
在C++中,箭头运算符(Arrow Operator)->是一个重要的运算符,主要用于通过指针访问对象的成员。它的作用是解引用指针并访问成员,简化了指针操作的语法。
2024-07-24 17:01:01 1459
原创 C++引用与指针
在C++编程中,指针和引用是两个非常重要的概念。它们都用于间接访问对象,但在语法和使用上有显著的区别。引用(Reference)是一个别名,用于引用已有的变量。引用在声明时必须初始化,并且一旦绑定到某个变量,就不能再改变引用对象。
2024-07-17 17:05:42 322
原创 C++ new关键字
对于自定义类型,new 会调用相应的构造函数,而 delete 会调用析构函数。public:// 分配并构造MyClass对象delete obj;// 调用析构函数并释放内存// 分配并构造包含3个MyClass对象的数组// 调用析构函数并释放数组内存return 0;
2024-07-16 21:16:44 193
原创 C++深拷贝与浅拷贝
在C++中,拷贝(Copying)是指将一个对象的内容复制到另一个对象中。深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是两种不同的对象复制方式,主要区别在于它们如何处理指针成员和动态分配的内存。
2024-07-16 14:35:18 476
原创 C++智能指针
在C++中,智能指针(Smart Pointer)是一种用于自动管理动态内存的对象。智能指针通过自动管理内存的分配和释放,帮助程序员避免内存泄漏和其他与内存管理相关的问题。
2024-07-15 18:21:49 453
原创 C++对象的生命周期
在C++中,对象的生命周期指的是对象从创建到销毁的整个过程。C++提供了多种对象生命周期管理方式,包括自动存储(局部变量)、静态存储、动态存储和线程存储。每种存储类型的对象都有不同的生命周期特性。
2024-07-15 17:41:33 544
原创 C++作用域
在C++中,作用域(Scope)是指程序中变量、函数、对象等符号的可见性和生命周期的范围。换句话说,作用域定义了变量、对象、函数等符号在哪些地方可以被访问和使用。理解作用域有助于管理变量的生命周期、避免命名冲突和编写更清晰的代码。
2024-07-15 17:07:25 382
原创 C++运算符和运算符重载
C++ 提供了丰富的运算符用于各种操作,如算术运算、逻辑运算、位运算、关系运算等。此外,C++ 允许用户定义的类型(类或结构体)重载运算符,使其能够与内置类型一样使用运算符。运算符重载使代码更直观和易读。
2024-07-15 15:30:01 289
原创 C++隐式转换与explicit禁用隐式转换
在C++中,隐式转换(implicit conversion)是指编译器在需要时自动将一种类型的值转换为另一种类型的值。隐式转换通常发生在以下几种情况下:(1)算术运算:不同类型的操作数参与算术运算时,编译器会进行隐式转换。(2)函数调用:函数参数类型和传递的实参类型不一致时,编译器会进行隐式转换。(3)赋值操作:赋值操作中,赋值表达式的类型和变量的类型不一致时,编译器会进行隐式转换。
2024-07-14 20:43:06 279
原创 C++三元运算符
在C++中,三元运算符(ternary operator)是一种简洁的条件表达式,通常用于在单行代码中进行简单的条件判断和选择。
2024-07-14 20:06:39 375
原创 C++ const关键字和mutable关键字
在C++中,const关键字用于表示常量或不可修改的值。它可以用于变量、指针、函数参数、成员函数等。使用const关键字可以提高代码的安全性和可读性,防止意外修改数据。
2024-07-14 19:53:24 266
原创 C++字符串String和字符串字面量String Literals
在C++中,字符串(String)是一种用于表示和处理文本数据的基本类型。
2024-07-13 17:38:39 1305
原创 C++数组Array
数组(Array)是C++中一种用于存储相同类型数据的集合。数组在内存中是连续存储的,因此可以通过索引访问数组中的每个元素。数组的大小在声明时确定,并且不能在运行时改变。
2024-07-12 15:54:56 1596
原创 C++ visibility可见性
在C++中,可见性(Visibility)主要指的是类成员(成员变量和成员函数)的访问权限。C++提供了三种访问控制修饰符来管理类成员的可见性:public、protected和private。这些修饰符决定了类成员在类外部和派生类中的可见性和访问权限。
2024-07-12 15:25:15 484
原创 C++虚函数
虚函数(Virtual Function)是C++中实现多态(Polymorphism)的关键机制。多态允许你通过基类指针或引用来调用派生类的成员函数,从而实现动态绑定(Dynamic Binding)。虚函数在运行时决定调用哪一个函数,而不是在编译时决定。
2024-07-12 14:58:03 279
原创 C++继承
继承(Inheritance)是面向对象编程(OOP)的一个重要特性,它允许一个类(派生类或子类)从另一个类(基类或父类)继承属性和方法。继承使代码复用成为可能,并且可以创建更具层次结构的类结构。
2024-07-12 14:48:27 304
原创 C++析构函数
析构函数(Destructor)是C++类的一种特殊成员函数,它在对象的生命周期结束时自动调用,用于释放对象占用的资源(例如内存、文件句柄等)。
2024-07-12 14:08:06 179
原创 C++构造函数
构造函数(Constructor)是C++类的一种特殊成员函数,它在创建类的对象时自动调用,用于初始化对象的成员变量。构造函数的名称与类名相同,没有返回类型。构造函数可以被重载,即一个类可以有多个构造函数,只要它们的参数列表不同。
2024-07-12 13:49:36 414
原创 C++ 枚举enum
在C++中,enum(枚举)是一种用户定义的数据类型,它由一组命名的整数常量组成。枚举在代码中可以提高可读性和维护性,因为它们允许使用有意义的名称来表示整数值。C++支持两种类型的枚举:传统枚举(unscoped enum)和强类型枚举(scoped enum)。
2024-07-12 13:12:31 170
原创 C++类与结构体的相似点和区别
在C++中,类(class)和结构体(struct)是两种用户定义的类型,它们在很多方面非常相似,但也有一些关键的区别。
2024-07-11 21:31:45 221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人