自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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++this关键字

在 C++ 中,this 关键字是一个指针,指向调用成员函数的对象本身。它是一个隐式参数,自动传递给非静态成员函数。

2024-07-15 15:48:48 314

原创 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++ static关键字

在C++中,static关键字有多种用途,主要用于控制变量和函数的存储期和链接性。

2024-07-12 12:52:28 329

原创 C++类与结构体的相似点和区别

在C++中,类(class)和结构体(struct)是两种用户定义的类型,它们在很多方面非常相似,但也有一些关键的区别。

2024-07-11 21:31:45 221

原创 C++类、对象和实例化

C++类、对象、实例化简述

2024-07-11 21:23:30 401

原创 C#泛型理解

泛型不是简单的语法糖,还有赖于.NET框架升级支持。

2021-09-23 10:16:45 408 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除