摘要:
CMake语法—选项(option) 1 选项 1.1 定义 option(<variable> "<help_text>" [value]) 1.2 说明 variable 选项名 help_text 描述、解释、备注 value 选项初始化值(除ON而外全为OFF) 2 应用注意事项 2.1 代 阅读全文
摘要:
关于容器交集、并集、差集的算法 不喜欢无实物表演,秉承一贯风格,用代码说事。 1 示例代码 #include <set> #include <vector> #include <string> #include <algorithm> #include <iostream> int main() { 阅读全文
摘要:
C++ 求时差的三种方法 【1】标准C库方式 示例代码 1 #include <ctime> 2 #include <iostream> 3 using namespace std; 4 5 void function() 6 { 7 int step = 100000000; 8 while (s 阅读全文
摘要:
CMake语法—流程控制(if-foreach-while) 1 流程控制 1.1 代码结构 learn_cmake:为根目录 build:为CMake配置输出目录(在此例中即生成sln解决方案的地方) cmake_config.bat:执行CMake配置过程的脚本(双击直接运行) CMakeLis 阅读全文
摘要:
CMake语法—宏和函数(macro vs function) 1 宏macro定义与应用 macro(<name> [<arg1> ...]) <commands> endmacro() macro:宏关键字 name:宏名称 arg1:宏参数 宏的定义与使用方式与函数相同,可参考随笔进行简单理解 阅读全文
摘要:
CMake语法—环境变量(Environment Variable) 1 定义环境变量 set(ENV{<variable>} [<value>]) ENV:环境变量标志性前缀 variable:变量名称 value:变量值 2 应用环境变量 2.1 代码结构 learn_cmake:为根目录 bu 阅读全文
摘要:
CMake语法—缓存变量(Cache Variable) 1 CMake缓存变量 Normal Variable,普通变量,相当于一个局部变量。在同一个CMake工程中使用,会有作用域限制或区分。 Cache Variable,缓存变量,相当于一个全局变量。在同一个CMake工程中任何地方都可以使用 阅读全文
摘要:
CMake语法—普通变量与包含、宏(Normal Variable And Include、Macro) 1 CMake普通变量与包含、宏示例 1.1 代码目录结构 learn_cmake:为根目录(即父目录) build:为CMake配置输出目录(在此例中即生成sln解决方案的地方) cmake_ 阅读全文
摘要:
CMake语法—普通变量与子目录(Normal Variable And Subdirectory) 1 CMake普通变量与子目录示例 1.1 代码目录结构 learn_cmake:为根目录(即父目录) build:为CMake配置输出目录(在此例中即生成sln解决方案的地方) cmake_con 阅读全文
摘要:
CMake语法—普通变量与函数(Normal Variable And Function) 1 CMake普通变量与函数示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZE 阅读全文
摘要:
CMake语法—函数(解析参数 PARSE_ARGV) 1 CMake函数解析参数PARSE_ARGV示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程 阅读全文
摘要:
CMake语法—函数(解析参数) 1 CMake函数解析参数示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程版本号 set(PROJECT_VERSI 阅读全文
摘要:
CMake语法—函数(简单参数) 1 CMake函数简单参数示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程版本号 set(PROJECT_VERSI 阅读全文
摘要:
CMake语法—函数(定义&调用) 1 CMake函数定义与调用示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程版本号 set(PROJECT_VER 阅读全文
摘要:
【1】内存分区模型 各种说法,但都有一定道理,只是划分角度或逻辑不同。 1、三部分 C++程序在执行时,将供用户使用内存大致划分为三个区域: (1)程序存储区:存放函数体的二进制代码,由操作系统进行管理; (2)静态存储区:静态存储区数据在程序开始就已经分配好了内存,执行过程中,它们所占的存储单元是 阅读全文
摘要:
【1】应用示例 1 #include <vector> 2 #include <cassert> 3 #include <string> 4 #include <iostream> 5 using namespace std; 6 7 class String 8 { 9 public: 10 St 阅读全文
摘要:
【1】设置VS2019 支持C++17标准步骤 体验了一个C++17的特性,找到设置VS2019 支持C++17标准的操作步骤,详细如下图: good good study, day day up. 顺序 选择 循环 总结 阅读全文
摘要:
根据业务需求,在编码过程中,经常会遇到switch case表达式是字符串的场景,现支持如下。 【1】实现文件 支持实现的文件 1 #pragma once 2 3 #include <cstddef> 4 #include <cstdint> 5 #include <type_traits> 6 阅读全文
摘要:
【1】复现问题 为了更精确的分析,先用最简单的示例复现此错误场景,代码如下: 1 #include <map> 2 #include <string> 3 4 struct Section 5 { 6 int id; 7 std::string code; 8 9 bool operator<(co 阅读全文
摘要:
昨天给同事写了一个把自定义类型作为map中key值的示例,结果过了半个小时,同事反馈:不满足需求。 嗯哼?作为一个程序员,不满足需求那可就是BUG呀~ 不行,得尽快给处理一下。 【1】异常示例(不满足需求样例) 源代码如下: 1 #include <map> 2 #include <string> 阅读全文