C++
文章平均质量分 85
找不着地窖的皮险家
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++:Set与BitSet
或类似容器)基于平衡二叉搜索树(如红黑树)实现,动态内存分配发生在堆上。的关联容器,基于红黑树或哈希表实现,用于存储唯一元素并提供快速查找。,尤其适合固定范围的布尔或整数标志存储。的位集合,专为高效存储和操作二进制标志设计。在内存占用和操作效率上确实优于。bitset 是一种。原创 2025-06-26 01:19:26 · 865 阅读 · 0 评论 -
C++ 按值返回
由于返回值是独立的拷贝,多个线程调用函数时各自获得独立的副本,不会互相干扰。如果多线程同时修改静态变量本身(例如通过其他函数),即使按值返回,静态变量仍可能面临竞争条件。单纯按值返回静态变量的操作本身是线程安全的,因为每个线程获得独立副本。对于引用类型(如对象、数组等),虽然返回的是引用的副本,但由于副本和原始引用指向同一内存地址,修改返回值可能会影响原始数据。在编程中,按值返回通常意味着函数返回的是变量的副本而不是原始变量本身。当函数按值返回一个静态变量时,线程安全性取决于静态变量的使用方式和上下文。原创 2025-06-24 01:37:21 · 265 阅读 · 0 评论 -
设计模式:单例模式
单例模式是一种确保类仅有一个实例并全局可访问的设计模式,常用于资源共享场景。常见实现方式包括:懒汉式(线程不安全或加锁保证安全)、饿汉式(启动即初始化)、Meyers'单例(C++11静态局部变量线程安全)、双重检查锁定(DCLP)。线程安全可通过加锁、原子操作或C++11的静态局部变量机制实现,其中Meyers'单例因其简洁性和安全性被推荐为最佳实践。该模式通过私有构造函数和静态访问方法保证实例唯一性,在多线程环境下需特别注意初始化竞态问题原创 2025-06-16 00:36:34 · 668 阅读 · 0 评论 -
C++ 中的智能指针(Smart Pointer)
std::unique_ptr 和 std::shared_ptr 提供了简单、灵活的资源管理方式,有效降低内存泄漏风险。而 std::weak_ptr 主要用于防止 shared_ptr 的循环引用。原创 2024-11-10 22:54:00 · 758 阅读 · 0 评论 -
C++关联式容器(一)map
std::map 是一个强大且高效的关联容器,适用于需要按键有序存储和快速查找的情况。原创 2024-11-10 22:41:46 · 1066 阅读 · 0 评论 -
C++的序列式容器(二)list
std::list 是一种双向链表容器,适合频繁插入和删除操作。但list 是链式存储结构,因此它不支持随机访问原创 2024-11-10 00:50:22 · 1177 阅读 · 0 评论 -
C++的序列式容器(一)vector
std::vector 是一个高效、灵活的容器,适用于动态管理大小的场景。原创 2024-11-09 17:24:16 · 832 阅读 · 0 评论 -
常见C++中隐式转换整理
C++ 中的隐式转换(Implicit Type Conversion)是编译器在必要时自动将一种类型的值转换为另一种类型的过程。隐式转换主要发生在以下几种情况下原创 2024-10-27 21:29:29 · 1307 阅读 · 0 评论 -
C++ 中的迭代器失效及其预防
在 C++ 中,迭代器是一种用于遍历容器元素的对象。当容器发生了某些操作(如插入、删除、内存重新分配)时,这些操作可能会使得迭代器失效。失效的迭代器指向的内存可能已经被释放或更改,导致程序行为未定义,如输出异常结果、程序崩溃等。迭代器失效引发的未定义行为(UB)可能表现为程序崩溃、数据错误、内存访问异常等,但并不一定每次运行都能观察到。有时,程序运行时即使发生了迭代器失效,内存布局未发生变化,因此访问失效迭代器时看似没有问题,但这依然是不安全的代码。原创 2024-10-07 17:21:15 · 2580 阅读 · 0 评论 -
C++中using和typedef之间的异同
typedef和using的异同原创 2024-10-06 13:37:57 · 1105 阅读 · 0 评论
分享