- 博客(10)
- 收藏
- 关注
原创 C++模板用法与适用场景
C++模板是泛型编程的核心工具,通过函数模板和类模板实现代码复用。函数模板可创建通用函数,类模板构建支持多种数据类型的容器。模板特化允许为特定类型定制实现,非类型参数支持常量参数。模板广泛应用于标准库容器、算法、通用数据结构和工具函数中,具有类型安全、高性能等优点,但也存在编译时间长、错误信息复杂和代码膨胀等缺点。合理使用模板能显著提升C++代码的灵活性和复用性。
2025-10-11 14:59:49
267
原创 C++的Lambda表达式
C++11 引入的 Lambda 表达式是一种匿名函数,它允许在需要函数的地方直接定义函数,无需单独声明函数名。这在编写简短的函数逻辑(尤其是作为参数传递给算法函数时)非常方便。
2025-09-27 22:03:35
203
原创 C++之空类或空struct的sizeof是1
C++中空类和空结构体的sizeof结果为1,这是为了保证对象地址的唯一性。编译器会为空的类/结构体自动分配至少1字节内存,防止对象指针无法区分。静态成员不影响对象大小,而虚函数会因虚表指针增加对象体积(32位系统4字节,64位系统8字节)。这一设计确保了数组元素等场景下不同对象拥有独立地址。
2025-09-04 17:21:26
411
原创 C/C++中const关键字的作用
const关键字可以用来定义全局变量和局部变量,其值在初始化后不能被修改// 错误:不能修改常量的值const可以用于成员函数,表示该函数不会修改对象的状态,说明该函数不应该修改非静态成员,但这并不是十分可靠的,指针所指向的非成员对象值可能会被修改public:} // 常量成员函数private:int value;const可以用于定义常量对象,表示该对象的状态在创建后不能被修改public:} // 常量成员函数,不能修改对象状态private:int value;
2025-04-09 18:14:22
134
原创 C/C++指针与数组的区别?
数组是对应着一块内存,数组的地址和空间大小在生命周期内不会改变,内容可能随时发生改变。而指针则是指向一块内存,他指向的内存大小可以随时发生改变。但是当指针指向常量字符串时,他的内容不可以改变。数组名类似指针常量,指针是指针变量。
2025-04-08 14:27:17
221
原创 C/C++三目运算符(?:)的用法
C/C++ 三目运算符是一种条件运算符,也被称为“三元运算符”或“条件运算符”。它的语法结构为 condition?true_expression : false_expression,表示如果 condition 为真,则执行 true_expression,否则执行 false_expression。
2025-02-12 18:36:20
412
原创 C/C++枚举类型(enum)的作用与用法
枚举(enum)是一种创建符号常量和定义新数据类型的方法,它能提高代码可靠性和可读性。枚举默认从0开始递增,但可以手动初始化值(如Monday=1)。枚举量会自动转换为整数类型,支持直接赋值给变量。修改枚举值时只需在定义处调整,无需修改多处代码,增强了可维护性。枚举还能避免使用错误值,使代码更清晰易懂。
2025-02-12 18:21:02
273
原创 什么是常量和变量
在C++中,推荐使用const或者constexpr定义常量,而不是使用#define,因为const和constexpr具有类型安全和作用域的优势。常量:值不可以修改,用于存储程序中固定不变的值。变量:值可以修改,用于储存程序中变化的数据。定义:在程序的运行期间可发生改变的量。定义:在程序运行期间不可以发生改变的量。
2025-02-09 21:39:50
267
原创 C/C++中有哪些基本的数据类型?它们的储存大小和取值范围是多少?
存储大小:在 16 位系统中通常占 2 个字节,在 32 位和 64 位系统中一般占 4 个字节。取值范围:-2^31到2^31-1。
2025-02-09 21:26:22
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅