随记
文章平均质量分 64
Kristen_YXQDN
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 单线程池
工作线程通过 RunLoop 循环等待任务,用互斥锁和条件变量保证队列的线程安全;外部线程(如回调函数)通过 SubmitTask 提交任务到任务队列,唤醒工作线程;工作线程取出任务并执行,直到收到退出信号切队列已空时退出。原创 2025-11-19 19:36:57 · 684 阅读 · 0 评论 -
C++ constexpr 定义字符串常量时显示添加 const 限定符
字符串常量的类型是 const char[],必须显示声明,否则会导致“丢弃了 const 限定符”的编译错误。C++ 中,constexpr 本身已经隐含 const 的特性 —— 即变量的值在初始化后不可修改。const 修饰的是 char*,表示指针指向的字符串不可修改,这是。此处,constexpr 已保证 PREFIX 是编译期常量。原创 2025-10-30 14:21:30 · 116 阅读 · 0 评论 -
C++ constexpr与普通定义变量的区别
可用于所有需要“编译期常量表达式”的场景(如数组大小、模板参数、case 标签等)【当仅在编译期使用其值时,constexpr 对比普通 int 可省略内存分配】constexpr 强调“编译期常量”,其值。constexpr 变量的初始化表达式必须是。普通 int 变量的初始化表达式可以是。其他 constexpr 变量的运算。不能用于需要编译期常量的场景。,如函数返回值、用户输入等。1.编译期 vs 运行时。2.常量性与可修改性。原创 2025-10-30 11:38:57 · 217 阅读 · 0 评论 -
C++ #define 和 constexpr 的区别
(如作为数组大小、模板参数等)[如:int b = a],一般不分配内存,直接嵌入指令(类似 #define),无需实体。【这种设计既保证编译期常量的高效性(编译期计算、多数场景不占内存),又支持必要时的运行时实体化(满足地址相关操作)】,在编译预处理阶段进行简单的文本替换,不涉及类型检查,也不被编译器视为“变量”/“常量”(预处理阶段直接替换了,,可在块内(如函数、循环)定义,仅在作用域内可见,避免命名冲突。,由编译器处理,有明确的类型,会进行类型检查。三、内存消耗(两者的核心区别之一)原创 2025-10-30 11:10:00 · 423 阅读 · 0 评论 -
C++ 实现四舍五入
(如 constexpr、静态断言等),让代码能在编译阶段就完成类型特性相关的内部逻辑分支判断,提升效率并保证类型安全。value 在编译期存储一个 bool 值,用于表示类型 T 是否为整数类型。【理解 std::is_integral<T>::value 中 "::value" 的作用】是用于“四舍五入到长整型(long long)”的数学函数。调用时需显示指定 T 的类型,因为编译器无法仅通过。,用于支持编译期的逻辑判断。用于判断一个类型是否为“整数类型”:C++ 类型特性库,其中。原创 2025-10-29 15:13:15 · 371 阅读 · 0 评论
分享