C++实战笔记读书总结 第2章C++开发综述

C++98是第一个国际标准,后续的11/14/17/20版引入了重大变革。良好的编码风格包括代码规范、注释和设计模式。预处理涉及文本替换和防止重复包含。编译阶段的静态断言能进行编译时检查。文章还提到了面向过程、面向对象、泛型编程等编程范式和调试分析的重要性。
摘要由CSDN通过智能技术生成

C++简介

C++98/03

98第一个国际标准,03小修订

经典

C++11/14

追新求变 重大变更  

主流

C++17

不算是很大的进步

最佳选择

C++20

重要里程碑

明日之星

C++程序生命周期

编码 coding

代码规范,注释规范,设计模式,习惯用法

预处理 pre-processing

文本替换,“#”开头的指令

编译(连接) compiling linking 

检查语法,语义

运行 running

载入内存

编程范式

面向过程,面向对象,泛型编程,模板元编程,函数式编程

编码阶段的代码风格

大部分人都能写出机器能看懂的代码,但只有优秀的程序员才能写出任何人都能看懂的代码

  1. 用好空格和空行,多留白。

  2. 给变量,函数,类起个好名字,

  3. 给变量,函数,类加上注释,让代码自带文档。

  4. 用"*.hpp"的形式来组织代码。

预处理阶段编程

  1. #include 包含任意文件,可以写一些小的代码片段,再通过该指令引进程序里。

  2. 头文件应该加上"#include Guard",防止重复包含。

  3. "#define"用于宏定义,非常灵活,但滥用文本替换可能会降低代码的可读性。

  4. 条件编译其实就是指预处理编程里的分支语句,可以改变源码的形态

  5. C++预定义了大量的环境相关宏,用好他们就可以针对系统生成比较合适的代码

编译阶段编程

  1. 属性相当于编译阶段的标签,可用来标记变量,函数或类,让编译器发出或者不发出警告,还能手动指定代码的优化方式。

  2. 官方标准定义的属性比较少,我们也可以使用非官方的属性,需要以类似名字空间的方式使用

  3. static_assert是静态断言,在编译阶段计算常数和类型,如果断言失败就会导致编译错误。它也是迈向模板元编程的第一步。

  4. 和运行阶段的动态断言一样,static_assert可以在编译阶段定义各种前置条件,充分利用C++静态类型语言的优势,让编译器执行各种检查,避免把隐患带到与运行阶段。

运行阶段的调试分析

    详细专题补充

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值