1 2 3 4 5 ··· 56 下一页
摘要: 在 C++ 中,有多种方法可以从一个容器拷贝符合条件的元素到另一个容器。以下是几种常用的方法: 1. 使用 std::copy_if 算法(推荐) 这是最简洁和现代的方法: #include <iostream> #include <vector> #include <algorithm> #inc 阅读全文
posted @ 2025-09-10 13:44 double64 阅读(13) 评论(0) 推荐(0)
摘要: 何时优先使用 bind 场景 优先使用 std::bind 的原因 参数顺序重排 表达意图更清晰。占位符语法直接表明了参数映射关系,尤其在参数众多或映射复杂时,比在 lambda 函数体内手动排序更不易出错。 与旧代码/风格集成 保持一致性。在与基于 Boost Bind 或类似模式的旧代码交互时, 阅读全文
posted @ 2025-08-23 11:45 double64 阅读(14) 评论(0) 推荐(0)
摘要: 在使用 Qt 时遇到 min 函数冲突是一个 非常常见 的问题,尤其是在 Windows 平台或包含某些标准库头文件时。 Windows 头文件定义了 min 宏 当你包含了 <windows.h>(或间接包含,如 <tchar.h>、 等),Windows SDK 会定义: #define min 阅读全文
posted @ 2025-08-22 14:10 double64 阅读(31) 评论(0) 推荐(0)
摘要: 1. NRVO(Named RVO) —— 命名返回值优化 MyClass create() { MyClass obj(10); // ... 处理 return obj; // NRVO 可能发生 } 触发条件: obj 的类型与函数返回类型相同(或可隐式转换) 函数只有一个返回路径(或多条路径 阅读全文
posted @ 2025-08-14 19:31 double64 阅读(22) 评论(0) 推荐(0)
摘要: 在 C++ 中,std::unique_ptr 和 std::shared_ptr 都支持自定义删除器(deleter),但它们在实现和使用上有一些关键区别。以下是它们的异同点: 相同点 支持自定义删除器 两者都允许通过模板参数或构造函数参数指定删除器,用于管理资源释放(如文件句柄、内存、网络连接等 阅读全文
posted @ 2025-05-23 13:35 double64 阅读(283) 评论(0) 推荐(0)
摘要: std::unique_ptr<int[]> iarr(new int[3]{ 0,1,2 }); int *piarr = iarr.release(); // 失去控制 for (int i = 0; i < 3; ++i) { std::cout << *(piarr + i) << std: 阅读全文
posted @ 2025-05-23 11:54 double64 阅读(9) 评论(0) 推荐(0)
摘要: std::vector<int> v1 = { 1,2,3,4,5,6,7,8,9 }; std::vector<int> v2 = {11, 22, 33}; v1.insert(v1.begin(), v2.begin(), v2.end()); 输出: 11 22 33 1 2 3 4 5 6 阅读全文
posted @ 2025-05-23 09:23 double64 阅读(32) 评论(0) 推荐(0)
摘要: tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 整行拉伸 tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 阅读全文
posted @ 2025-05-20 08:55 double64 阅读(31) 评论(0) 推荐(0)
摘要: class IModify { public: virtual void Modify(int a) = 0; }; class Dog { public: void ShowAge() { cout << m_age << '\n'; } class Cat; private: int m_age 阅读全文
posted @ 2025-04-26 00:15 double64 阅读(44) 评论(0) 推荐(0)
摘要: 宏展开顺序大致可以归结为: 第一步:首先用实参代替形参,将实参代入宏文本中 第二步:如果实参也是宏,则展开实参 第三步:最后继续处理宏替换后的宏文本,如果仍包含宏,则继续展开 注意:如果在第二步,实参代入宏文本后,实参之前或之后遇到#或##,实参不再展开 例1: #define cat(a,b) a 阅读全文
posted @ 2025-04-25 22:44 double64 阅读(75) 评论(0) 推荐(0)
1 2 3 4 5 ··· 56 下一页