随笔分类 -  C++

摘要:在C++中,指针是一种强大的工具,用于处理内存和访问数据。以下是一些与指针相关的基本概念和操作符: 解引用运算符 *: 用于访问指针指向的内存地址处的值。 例如,如果有一个指针 int* ptr,则 *ptr 将返回指针所指向地址的整数值。 int x = 10; int* ptr = &x; st 阅读全文
posted @ 2023-12-12 10:43 做梦当财神 阅读(211) 评论(0) 推荐(0) 编辑
摘要:std::unique_ptr 是 C++ 标准库中的一种智能指针,用于管理动态分配的内存。它是一种独占拥有权(exclusive ownership)的智能指针,保证同一时刻只有一个 std::unique_ptr 指向特定的资源。当 std::unique_ptr 被销毁时,它所拥有的资源也会被 阅读全文
posted @ 2023-12-11 16:50 做梦当财神 阅读(82) 评论(0) 推荐(0) 编辑
摘要:std::shared_ptr 是 C++ 标准库中的一个智能指针类,用于管理动态分配的内存。它提供了一种共享拥有权(shared ownership)的机制,通过引用计数来跟踪指向同一块内存的所有 std::shared_ptr 实例。当最后一个 std::shared_ptr 被销毁时,它会自动 阅读全文
posted @ 2023-12-11 12:49 做梦当财神 阅读(108) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,tstring 通常是作为宏定义,用于实现跨平台的 Unicode 字符串处理,尤其是在 Windows 环境中。tstring 通常与 _T 或者 TEXT 宏一同使用,以便支持在不同编译设置下使用 ANSI 或 Unicode 字符串。 使用 _T 宏: 在 Windows 环境 阅读全文
posted @ 2023-12-08 13:54 做梦当财神 阅读(192) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,宏(Macro)是一种预处理指令,用于在源代码中定义和使用简单的代码片段。宏是一种文本替换机制,它允许在编译之前对源代码进行文本替换,从而实现一些简单而重复的代码生成。 定义宏: 使用 #define 指令可以定义一个宏。 #define PI 3.14159 #define SQU 阅读全文
posted @ 2023-12-08 13:49 做梦当财神 阅读(63) 评论(0) 推荐(0) 编辑
摘要:unsigned 是 C++ 中的关键字,用于声明无符号整数类型。当应用于整数类型时,它表示该整数类型是无符号的,即不带正负号。 在 C++ 中,unsigned 通常与整数类型一同使用,如 unsigned int、unsigned short、unsigned long 等,用于表示非负整数。 阅读全文
posted @ 2023-12-08 13:47 做梦当财神 阅读(1982) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,智能指针是一种用于管理动态分配内存的智能化工具。它们提供了对动态分配资源的自动管理,以减少内存泄漏和资源泄漏的风险。C++ 标准库提供了两种主要的智能指针类型:std::shared_ptr 和 std::unique_ptr。以下是这两种智能指针的基本解释: 1. std::sha 阅读全文
posted @ 2023-12-08 13:22 做梦当财神 阅读(20) 评论(0) 推荐(0) 编辑
摘要:auto 是 C++11 标准引入的关键字,用于自动推导变量的类型。使用 auto 可以使编译器在编译时根据变量的初始化表达式自动确定其类型,从而简化代码书写和提高代码的灵活性。 示例: #include <iostream> #include <vector> int main() { // 使用 阅读全文
posted @ 2023-12-08 11:20 做梦当财神 阅读(104) 评论(0) 推荐(0) 编辑
摘要:这是 C++ 中的模板声明,用于定义一个通用的模板(template)。这种模板可以用于创建通用的、类型无关的代码,使得可以在不同的数据类型上使用相同的算法或数据结构。 具体而言,template 关键字声明了一个模板,typename T 则是模板参数声明,表示一个未知的类型 T,可以在模板的定义 阅读全文
posted @ 2023-12-08 10:59 做梦当财神 阅读(116) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,extern 是一个关键字,用于说明某个变量或函数是在其他文件中定义的,而不是在当前文件中定义。extern 的主要作用是进行外部链接性的声明。 1. 外部变量的声明: extern 可以用于声明在其他文件中定义的全局变量,以便在当前文件中使用这些变量。 // 文件1.cpp int 阅读全文
posted @ 2023-12-08 10:07 做梦当财神 阅读(192) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,函数默认参数和占位参数都是用于提供函数参数的一些默认值或占位符,从而增加函数的灵活性。 默认参数(Default Parameters): 在 C++ 中,可以为函数的一个或多个参数提供默认值。这意味着调用函数时,如果没有提供相应的实参,将使用默认值。默认参数必须从函数声明开始定义, 阅读全文
posted @ 2023-12-08 09:54 做梦当财神 阅读(184) 评论(0) 推荐(0) 编辑
摘要:在C++中,双冒号 :: 是作用域操作符(Scope Resolution Operator)。它有两个主要用途: 命名空间的使用: 在例子中,seeta::ModelSetting 表示 ModelSetting 类位于 seeta 命名空间中。命名空间用于组织代码,以防止命名冲突。通过 :: 操 阅读全文
posted @ 2023-12-08 09:50 做梦当财神 阅读(112) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,构造函数(Constructor)和析构函数(Destructor)是类的两个特殊类型的成员函数,用于在对象的创建和销毁过程中执行特定的操作。 构造函数(Constructor): 构造函数是一种特殊的成员函数,用于在对象创建时进行初始化操作。它的名称与类名相同,没有返回类型,并且可 阅读全文
posted @ 2023-12-07 17:32 做梦当财神 阅读(109) 评论(0) 推荐(0) 编辑
摘要:Protocol Buffers(简称 Protobuf)是由 Google 开发的一种轻量级、高效、可扩展的数据序列化协议。它旨在成为一种语言无关、平台无关、可扩展、高效的数据交换格式。Protobuf 通常用于在不同的系统或组件之间进行数据通信,如在分布式系统中,或者作为数据存储格式。 以下是 阅读全文
posted @ 2023-12-07 16:52 做梦当财神 阅读(48) 评论(0) 推荐(0) 编辑
摘要:在C++中,"外部函数"通常指的是在类外部定义的全局函数。这些函数不属于任何特定的类,可以独立于类之外存在。下面是一些关于外部函数的基本概念: 1. 全局函数: 全局函数是在任何类的外部定义的函数。它们不是任何类的成员函数,可以直接通过函数名调用。 // 全局函数的定义 int add(int a, 阅读全文
posted @ 2023-12-07 16:36 做梦当财神 阅读(257) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,引用是一个允许程序员使用现有变量名称来定义别名的机制。引用提供了对变量的间接访问,允许通过不同的名称来访问相同的内存位置。引用在 C++ 中有几个重要的特性: 引用声明: 使用 & 符号声明引用。 int originalVariable = 42; int &refToOrigin 阅读全文
posted @ 2023-12-07 16:34 做梦当财神 阅读(24) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,内存可以划分为以下几个区域:代码区、全局区(静态区)、栈区、堆区。这些区域在程序运行时分配和管理不同类型的数据。 1. 代码区(Text 区): 代码区是用来存储程序的机器指令(即可执行代码)。这个区域通常是只读的,因为在程序运行时,程序的指令是不可修改的。 2. 全局区(全局变量区 阅读全文
posted @ 2023-12-07 16:33 做梦当财神 阅读(93) 评论(0) 推荐(0) 编辑
摘要:在 C++ 中,new 操作符用于在动态内存(heap)上为对象动态分配内存,同时会调用对象的构造函数进行初始化。它返回一个指向新分配的内存空间的指针。 new 操作符的一般语法如下: new type new type[expression] 其中,type 是要分配内存的数据类型,express 阅读全文
posted @ 2023-12-07 16:31 做梦当财神 阅读(81) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示