简 述: 对 std::vector 中的元素进行去重,其中元素为自定义结构体类型。提供三种思路,并且附上详细示例和分析。关键词内容:
- C++
std::unique函数去重,却导致的std::vector发生改变(遇内存泄漏) - c++
std::vector利用std::set去重(自定义结构体创建 set 对象的方法) - 自定义结构体在
sort和unique中比较 / 等于函数书写(重载、函数、函数对象;严格弱序、相等)
简 述: 对 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 各自的含义。
简 述: 创建的 Qt QKeySequenceEdit 快捷键编辑框,显示方块■◆乱码。

简 述: 详解 Lambda 表达式的基础使用,原理,和使用场景。

Summary: Telegram Download Default Chat Wallpaper

简 述: 哇卡卡卡,这次又抓到了 Microsoft win10 的 🐛,这次还影响到了我写代码哦🙄。项目使用 Release X86 编译会成功,而切换到 Release X64 编译会失败。
Error (active) E0147 declaration is incompatible with “BOOLEAN _BitScanForward” (declared at line 2825 of “C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h”) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\intrin0.inl.h 123
…
Error C2007 #define syntax C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\minwindef.h 38
Error C2144 syntax error: ‘int’ should be preceded by ‘;’ C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\minwindef.h 43
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\minwindef.h 43