当前位置: 首页 > news >正文

Effective C++

条款01:视C++为一个语言联邦

  1. 多重范型编程语言,在某个次语言中,各种高效编程守则简单易懂;但从一个语言移到另一个语言,守则可能改变。
  2. 次语言类型:
    • C:
    • Object-Oriented C++:
    • Template C++:
    • STL:

条款02: 尽量以const,enum,inline替换 #define(?)

  1. 宁可以编译器替换预处理器。
  2. #define 的记号也许被预处理器移走了,编译器也许从未看见,可能没进入记号表,编译时带来困惑
  3. #define 不能创建 class 专属常量
//
  1. enum hack:
//

(1) 某方面比较像 #define 而不像 const;
(2) 实用主义
5. 不用 #define 实现宏

总结:

  • 对于单纯常量,最好以 const 对象或 enums 替换 #defines。
  • 对于形似函数的宏(macros),最好用 inline 函数替换 #defines。
http://www.jsqmd.com/news/32681/

相关文章:

  • 厨房小白学做饭——3.虎皮青椒
  • 20251105 之所思 - 人生如梦
  • 【Kubernetes】入门-部署Spring应用
  • 第16天(简单题中等题 二分查找)
  • Java项目常用异常处理场景与实战指南
  • newDay18
  • 11月5日
  • 层级结构
  • 2025.11.5总结 - A
  • C# POST Form
  • 每日反思(2025_11_04)
  • C++练习2
  • 买完学习机还需要去线下补课吗? AI 学习机 + 自习室是最优解!
  • 一次性删除所有的GitHub Action记录
  • 第三十四篇
  • 2025-11-05 PQ v.Next日志记录
  • 11月5日日记
  • 20232319 2024-2025-1 《网络与系统攻防技术》实验四实验报告
  • 汉字识别
  • AGC与AVC是什么
  • 链表1
  • 競プロ典型 90 問-难题
  • c++函数调用的大致工作过程
  • Slack端到端测试管道优化:构建时间减半的技术实践
  • 结构体与联合体的区别
  • Day14综合案例二--
  • 解决colcon编译卡死
  • 新学期每日总结(第20天)
  • 铁杆粉丝占比20251105
  • Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么? - Higurashi