随笔分类 -  C++11

摘要:![image](https://img2024.cnblogs.com/blog/2815033/202511/2815033-20251107145546484-335465524.png) 阅读全文
posted @ 2025-11-07 14:55 丘狸尾 阅读(5) 评论(0) 推荐(0)
摘要:📖 QML 布局功能点与 CSS Flexbox 对比实现 1. flex-direction: row / column CSS: .container { display: flex; flex-direction: row; /* 横向布局 */ flex-direction: column 阅读全文
posted @ 2025-08-18 07:53 丘狸尾 阅读(205) 评论(0) 推荐(0)
摘要:顶层只 include() 进来,最终暴露 IMPORTED 目标,最干净。 若系统里已经能 find_package() 到,就直接用系统包;否则走脚本里的 fallback,自己创建 IMPORTED 目标。 目录结构 MyApp/ ├── CMakeLists.txt ├── cmake/ │ 阅读全文
posted @ 2025-08-13 15:31 丘狸尾 阅读(44) 评论(0) 推荐(0)
摘要:发现 Clion生成很快但vscode慢许多,原来是缺少 -j 24 可以在 Parallel Jobs设置 阅读全文
posted @ 2025-08-11 02:18 丘狸尾 阅读(21) 评论(0) 推荐(0)
摘要:使用宏来在某一源文件中展开定义,只在其他文件中默认使用声明 在单头文件库设计中,头文件保护宏(如 #ifndef MYLIB_H)和实现控制宏(如 MYLIB_IMPLEMENTATION)解决的是不同层次的问题,二者缺一不可。以下是详细分析: ⚙️ 1. 头文件保护宏(#ifndef MYLIB_ 阅读全文
posted @ 2025-07-29 03:28 丘狸尾 阅读(40) 评论(0) 推荐(0)
摘要:官网:https://ffmpeg.org/download.html 我们这里选择 ffmpeg-release-full-shared.7z`动态库下载 添加系统变量 将lib bin添加到系统环境变量path,供程序执行时查询动态库 动态库本体一般输出到bin,静态库和动态库的符号链接在lib 阅读全文
posted @ 2025-07-22 14:14 丘狸尾 阅读(1033) 评论(0) 推荐(0)
摘要:对于window平台,默认不导出函数符号,要显示去指定 用__declspec(dllexport)来声明编译成库要对外暴露的函数, 用__declspec(dllimport) 来声明使用时调用动态库的函数。 可以通过宏的定义与否来区分编译的是导出函数还是调用动态库函数。 在头文件中声明即可 // 阅读全文
posted @ 2025-07-18 18:50 丘狸尾 阅读(127) 评论(0) 推荐(0)
摘要:尽量在头文件中使用前置类型声明,在实现中再实际引用。 1. 头文件的“传递依赖”被阻断了,极大的加快了重编译速度 如果在 A.h 中直接 #include "B.h",那么所有包含 A.h 的文件(可能是几十个甚至上百个 .h 或 .cpp)都会间接包含 B.h。此时: 一旦 B.h 有任何修改(哪 阅读全文
posted @ 2025-07-13 05:22 丘狸尾 阅读(32) 评论(0) 推荐(0)
摘要:Zlib:从官网下载最新源码。 有cmakelist.txt,显然用cmake构建 mkdir build cd build cmake .. mingw-make 编译完成后,build/ 下 mkdir build cd build cmake .. mingw-make # or nmake 阅读全文
posted @ 2025-07-10 08:09 丘狸尾 阅读(636) 评论(0) 推荐(0)
摘要:在 Linux 系统中,zlib 是一个非常重要的压缩库,许多软件(如 gzip、libpng、OpenSSL 等)都依赖它。如果你需要安装 zlib,可以根据你的 Linux 发行版选择合适的安装方式。 一、检查是否已安装 zlib 在安装之前,可以先检查系统是否已经安装了 zlib。 方法 1: 阅读全文
posted @ 2025-07-10 06:40 丘狸尾 阅读(1218) 评论(0) 推荐(0)
摘要:用nmake编译,不要使用 mingw,mingw支持很差。 nmake是VS捆绑的 1. 安装 Visual Studio 2022 下载地址:Visual Studio 2017 社区版 安装时选择 “使用 C 的桌面开发” 工作负载,确保安装 C 编译工具。 显示找不到 nmake 命令(微软 阅读全文
posted @ 2025-07-10 05:59 丘狸尾 阅读(653) 评论(0) 推荐(0)
摘要:MySql5.7 mysql 5.7压缩包下载: 使用 aria2加速下载压缩包: aria2是一个支持多协议、多源和多线程的下载工具。您可以安装 aria2 并使用它来下载文件 sudo apt install aria2 aria2c https://downloads.mysql.com/ar 阅读全文
posted @ 2025-07-07 05:48 丘狸尾 阅读(23) 评论(0) 推荐(0)
摘要:让对象内部存个 weak_ptr ,跟着外部 shared_ptr “蹭” 控制块,调用 shared_from_this() 时,用这个 weak_ptr 生成 shared_ptr ,共享引用计数。 内部藏个 weak_ptr 继承 enable_shared_from_this 的类,会自带一 阅读全文
posted @ 2025-07-04 19:35 丘狸尾 阅读(26) 评论(0) 推荐(0)
摘要:考察一个特性,可以对比 不使用特性 和 使用特性 完成业务功能的代码 Boost.Any 是为了满足 C++ 中需要存储任意类型数据的需求而设计的库。 一、Boost.Any 的设计目的 类型安全容器:在单个变量中存储任意类型的数据 运行时类型识别:允许在运行时检查存储的实际类型 二、没有 Boos 阅读全文
posted @ 2025-07-02 23:34 丘狸尾 阅读(53) 评论(0) 推荐(0)
摘要:qiuliw@X:/opt/mysql$ sudo apt-get install ./mysql-server_5.7.29-1ubuntu18.04_amd64.deb [sudo] password for qiuliw: qiuliw@X:/opt/mysql$ sudo apt-get i 阅读全文
posted @ 2025-07-02 13:41 丘狸尾 阅读(70) 评论(0) 推荐(0)
摘要:operator T() const operator T() const 是C++中的一种类型转换运算符重载。 1. 作用 它重载了从类类型到目标类型T的隐式类型转换操作。也就是说,当一个类的对象需要被用作目标类型T时,这个转换运算符会被调用。 2. 使用场景 假设有一个类MyClass,并且定义 阅读全文
posted @ 2025-07-02 06:12 丘狸尾 阅读(36) 评论(0) 推荐(0)
摘要:当一个成员函数被声明为 const 时,这意味着这个函数不能修改类的任何成员变量(除非这些成员变量被声明为 mutable)。例如: class MyClass { public: int value; void print() const { // value = 10; // 错误:不能修改成员 阅读全文
posted @ 2025-06-04 19:49 丘狸尾 阅读(42) 评论(0) 推荐(0)
摘要:CPU预取指令在遇到分支时,会选择一个预测分支预取。分支预测器通过硬件电路在分支条件未真正计算出结果前猜测分支走向,从而让处理器继续预取和执行后续指令,提高并行度。但一旦预测错误,处理器已经执行的指令必须作废(清空流水线),然后转去正确的分支路径重新取指令,这会浪费许多 CPU 周期,故而gcc提供 阅读全文
posted @ 2025-05-29 14:31 丘狸尾 阅读(150) 评论(0) 推荐(0)
摘要:泛型函数传入多元函数对象和参数,返回一元函数对象 函数对象 重载()运算符,重组形参与预传入的参数到多元函数 使用 #include <iostream> #include <string> #include <functional> #include <algorithm> // 泛型算法 #in 阅读全文
posted @ 2025-05-02 17:48 丘狸尾 阅读(55) 评论(0) 推荐(0)
摘要:#include <functional> #include <iostream> #include <string> using namespace std; /* function 函数类型的实现原理 */ // 通用类型模板 template <typename Fty> class myFu 阅读全文
posted @ 2025-05-01 20:41 丘狸尾 阅读(50) 评论(0) 推荐(0)