Effective C++读书笔记

第一天

1.让自己习惯c++

条款1视c++为一个语言联邦

由于最开始只是将c++语言视为一个只是c语言加上面向对象特征的语言,但如今已经有了许多泛型的语言,最简单的方法是将c++视为一个相关语言组成的联邦,而非单一语言,换句话说,就是c++中有许多的次语言,然而当从一个次语言移往另一个次语言的时候,守则可能改变。
次语言总共有四个

  1. c,c++是以c为基础扩展出来的,当使用c的语法工作的时候,没有模板,没有异常,没有重载等一切工具
  2. Object-Oriented C++ 这个就是在c的基础上加上了类,并且具有封装,继承,多态的特性
  3. Template C++,这个是C++的泛型编程,也被称为模板元编程,TMP相关规则很少与C++主流编程互相影响
  4. STL 它对容器,迭代器,算法以及函数对象的规约有着极佳的紧密配合与协调 当使用STL的时候,必须遵守它的约定

第二天

1.让自己习惯c++

条款2 尽量以const,enum,inline替换 #define

  1. 在使用 #define定义的变量,他在编译器处理源码之前就被预处理器拿走了,当运用此常量的时候可能找不到define定义的错误,只能找到当前值的错误,如果不在同一个文件则找起来更加麻烦,所以我们可以使用常量来代替define

  2. 当使用const的时候,如果定义的是常量指针则需要用到两个const

    cosnt char* const name = " "
    
  3. 第二点就是在类中声明常量的时候,如果要保证只有一个实例,则需要使用static

  4. enumback,取enumback的地址是不合法的,但是取const声明的是合法的,而取define的地址也是不合法的,而使用enumback完全是利用实用主义

  5. 而在使用define定义函数的时候,可能也会引起许多错误,它要求每个参数都需要有括号,所以使用模板inline函数更加好使,能够保证类型安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值