C++
文章平均质量分 63
小泽冲锋号
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
容器之std::map与QMap
本文对比分析了C++标准库中的std::map与Qt框架中的QMap两种关联容器。两者都基于红黑树实现,提供O(logn)的查找性能,但存在框架差异:std::map是标准C++实现,而QMap需要Qt环境。文章详细介绍了它们的使用方法,包括插入、查找和遍历操作,并指出std::map适合纯C++项目,QMap更适合Qt项目。此外,还介绍了支持重复键的std::multimap和QMultiMap的用法。开发者在选择时应根据项目框架需求决定使用哪种容器。原创 2025-10-15 07:00:00 · 278 阅读 · 0 评论 -
容器std::set与QSet
本文对比分析了C++标准库的std::set和Qt框架的QSet两种集合容器。std::set基于红黑树实现,保持元素有序,操作复杂度为O(logn);QSet基于哈希表实现,查找效率高(平均O(1))但无序存储。主要差异体现在底层结构、时间复杂度(std::set稳定,QSet可能退化)和内存占用上。std::set适用于需要排序和范围查询的场景,而QSet更适合快速查找和集合运算。选择时应考虑功能需求(是否需有序)和开发环境(是否使用Qt)。两种容器均非线程安全。原创 2025-10-13 23:55:51 · 539 阅读 · 0 评论 -
C++初始化列表(std::initializer_list)
C++初始化列表是构造函数的一部分,用于在对象创建时直接初始化成员变量。其执行顺序与成员变量声明顺序一致,否则会导致未定义行为。相比构造函数体内赋值,初始化列表效率更高,特别是对自定义类型。C++11新增std::initializer_list,支持用"{}"语法初始化对象,可通过重载构造函数和赋值运算符实现。使用注意事项:1)初始化列表优先于构造函数体内赋值;2)初始化顺序需与变量声明顺序一致;3)可利用std::initializer_list实现更简洁的初始化方式。原创 2025-10-13 00:43:05 · 169 阅读 · 0 评论
分享