博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高质量C/C++编程指南读书笔记(1)
阅读量:2051 次
发布时间:2019-04-28

本文共 1050 字,大约阅读时间需要 3 分钟。

最近在读高质量C/C++编程指南,我只将一些我自己平时没有注意的东西记录下来。

这本书挺好的,推荐大家阅读。以下是我的读书笔记:

1.1版权和版本的声明

example:
/*************************************************
Copyright (C),fmh
File name: xxx.cpp
Author: fmh      Version: 1.0     Date: 2012.6.18
Description:   xxx的实现程序
*************************************************/

1.2头文件

防止头文件被重复引用
#ifndef HEADER_H
#define HEADER_H

#include ...

class A

{
};

#endif

2.2.1尽可能在定义变量的同时初始化该变量

局部变量如果未初始化,可能会导致程序错误。

4.4.2如果循环体内存在逻辑判断,并且循环次数很大,宜将判断移到

循环体的外面。效率高但程序不简洁。但效率的提高并不明显。

4.6.2switch语句不要忘记最后那个default分支。

4.6.3少用、慎用goto语句,而不是禁用。

6.1.1避免函数有太多的参数,参数个数尽量控制在5个以内。如果参

数太多,在使用时容易将参数类型或顺序搞错。

6.3.2return语句不可返回指向“栈内存”的“指针”或者“引用”,因为

该内存在函数体结束时被自动销毁。

6.4

函数的功能要单一,不要设计多用途的函数。
函数体的规模要小,尽量控制在50行代码之内。
不仅要检查输入参数的有效性,还要检查通过其他途径进入函数体内
的变量的有效性。

6.5使用断言

在函数的入口处,使用断言检查参数的有效性。

7.1内存分配方式有三种

(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,
这块内存在程序的整个运行期间都存在。例如:全局变量,static
变量。
(2)在栈上创建。在执行函数时,函数内部局部变量的存储单元
都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈
内存分配运算内置于处理器的指令集中,效率很高,但是分配的内
存容量有限。
(3)在堆上分配,也称动态内存分配。程序在运行的时候用malloc
或new申请任意多少的内存,程序员自己负责在何时用free或delete
释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也
最多。

转载地址:http://ywklf.baihongyu.com/

你可能感兴趣的文章
Ceph CSI 3.0.0 发布了!
查看>>
2020年了,SparkStreaming 与 Kafka 还是性格不合。。
查看>>
为了解决 Prometheus 大内存问题,我竟然强行将 Prometheus Operator 给肢解了。。
查看>>
容器视角下的网络性能监控
查看>>
最炫酷的 Kubernetes Dashboard:Octant 迎来重大更新!
查看>>
查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?
查看>>
我就感觉到快 —— zsh 和 oh my zsh 冷启动速度优化
查看>>
Prometheus监控神器-Alertmanager篇(二)
查看>>
Prometheus监控神器-Alertmanager篇(一)
查看>>
Kubernetes 的新武器:层级命名空间
查看>>
他在阿里5年,升为P9,现在直播不卖货,就要招各路云原生大师!
查看>>
知道吗?容器镜像也可以延迟拉取!
查看>>
Awesome Kubernetes 系列:第一期
查看>>
我是怎么莫名地劫持了自己的 DHCP 的
查看>>
现在是云原生最好的时代
查看>>
DDD 到底什么鬼?
查看>>
ElasticSearch Operator 工作原理浅析
查看>>
Thanos 与 VictoriaMetrics,谁才是打造大型 Prometheus 监控系统的王者?
查看>>
卧槽!竟然可以直接白嫖 Github Action 的 2C7G 服务器。。
查看>>
BPF数据传递的桥梁——BPF Map(一)
查看>>