Effective C++ 读书笔记1——走进C++,简单的习惯

来源:互联网 发布:java监控服务 编辑:程序博客网 时间:2024/05/17 22:43

第一章 让自己习惯C++
1、C++,一个语言联邦
从C而来,有C的高效,为类而+,面向对象;
template,唯其适用,STL,template标准库。
之前,一直以为C++就是C+class;直到面试时,才知道,原来template、STL是这么的重要,设计出优良的类,是如此的不易。

4个联邦,4种策略,根据需要,调整一些设计习惯。

C++,在保持高效编程下,视情况而变化,适应各种需求与进步:
支持过程、面向对象、泛型形式、元编程形式。

——这是一种完美,还是一种纠结?


2、const、enum、inline代替#define
:减少因预处理带来的种种问题!

常量用const,遇到编译器不允许类内static const声明直接赋值时,可用enum。
ps:为什么不只用const?

const× 与×const
类内的static const声明与定义

inline函数

3、尽可能多的使用const
const是C++里的一个好东西,编译器赋给它一个特殊的语义约束。
  
多多益善:
const× ×const
STL iterator
函数返回值、函数参数
  
const成员函数
出现原因:方便理解、可以使用const对象
编译器执行bitwise constness,设计者想执行logical constness,需要mutable帮忙
不可过分依赖编译器的判断,设计者需要自己做有些事。
  
const和non-const成员函数的重复:代码大量重复
non-const调用const,2个转型
const_cast<char&>( 
        static_cast<const TextBlock&>(*this)
)

原创粉丝点击