简 述: 分析 C++ Class 的六个特殊成员函数 wiki ,并且手动实现一番;
- 默认构造函数
- 析构函数
- 复制构造函数
- 复制赋值运算符
- 移动构造函数
- 移动赋值运算符
简 述: 分析 C++ Class 的六个特殊成员函数 wiki ,并且手动实现一番;
简 述: 闲暇,折腾下新购 小米AX6S,刷下 OpenWrt
,初次接触记录下。以及开启 OpenClash + clash-rules 的进阶使用
简 述: 此书写于二十年前,结合我自身情况参照,有了一种理论指导,可在众多学习方法中有效抉择,亦能在不同阶段更换不同策略。本文为读后的一个简要归纳和札记。
简 述: 对于 STL
中 std::set
创建自定义结构体的对象,发现使用 “函数对象” 和 “定义普通函数 + decltype” 两种方式会有差异,且其中一种书写会导致崩溃?探究一番后,值得记录一下。
简 述: 使用 C++ / Qt
偶尔会遇到需要设置一些属性,在此记录一番,方便下次时候。
// C++ 标志位
flages & WS_POPUP // 检查一个标志位
flages |= WS_POPUP // 设置一个标志位
flages &= ~(WS_POPUP | WS_SYSMENU) // 除去多个标志位
// QT 标志位, 除了上面之外,还可用此函数
setWindowFlags(Qt::FramelessWindowHint, true); // 开启此属性
setWindowFlags(Qt::FramelessWindowHint, false); // 关闭此属性
简 述: 对 std::vector
中的元素进行去重,其中元素为自定义结构体类型。提供三种思路,并且附上详细示例和分析。关键词内容:
std::unique
函数去重,却导致的 std::vector
发生改变(遇内存泄漏)std::vector
利用 std::set
去重(自定义结构体创建 set 对象的方法)sort
和 unique
中 比较 / 等于
函数书写(重载、函数、函数对象;严格弱序、相等)简 述: 使用的 Qt 升级到了 5.15.2,然后 IDE 编译报警告⚠如下,强迫症犯了,得消除掉。
**简 述: ** CMake
设置 Target
输出目录和后缀名
set(EXECUTABLE_OUTPUT_PATH "xxx/path") # 可执行文件的输出目录
set(LIBRARY_OUTPUT_PATH "xxx/path") # 库文件的输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "xxx/path") # debug 可执行文件的输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "xxx/path") # release 可执行文件的输出目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "xxx/path") # debug 库文件的输出目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "xxx/path") # release 库文件的输出目录
set(CMAKE_DEBUG_POSTFIX "xxx/path") # debug 库文件的后缀名
set(CMAKE_RELEASE_POSTFIX "xxx/path") # release 库文件的后缀名
set_target_properties(${TARGET_NAME} PROPERTIES DEBUG_POSTFIX "_d") # debug 可执行文件的后缀名
set_target_properties(${TARGET_NAME} PROPERTIES RELEASE_POSTFIX "_r") # release 可执行文件的后缀名
**简 述: ** 起源于 #2 ,发现debug 编译失败,而release 编译成功,根因为默认生成产物和预期不符,故提的一个 PR 。发现与之相关为 CMake 中 CMAKE_BUILD_TYPE
和 BUILD_SHARED_LIBS
的两个变量知识点。
简 述: Window API 中经常遇到的 WINUSERAPI 和 WINAPI 各自的含义。