EffectiveC++-导读

1. 本书宗旨

  • 本书的目的是告诉你如何有效的运用C++,假设你已经是知道C++语言并且对于它已经有了一些使用经验。(Moota:起码写个C++版贪吃蛇吧)
  • 忠告分为两种
    • 一般性的设计策略
    • 带有具体细节的特定语言特性
  • 这并不是一本范围广泛的C++参考书籍
  • 这也不是一本C++入门书籍
  • 本书强调那些常常被漠视的C++编程方向和观点
  • 本书将语言范围限制在标准C++之上
  • 本书不是走向完美C++软件的唯一真理之路

2. 术语

2.1 声明式

声明式:告诉编译器某个东西的名称和类型。

	//对象声明式
	extern int x;
	
	//函数声明式
	std::size_t  NumDigits(int number);
	
	//类声明式
	class Widget;
	
	//模板声明式
	template <typename T>
	class GraphNode;

注意作者在这里把看基本类型看作对象(Obejct)。
顺带一提,size_t 本质是 unsigned int,是一个 typedef

2.2 函数签名式

函数的声明揭示了其签名式。也就是参数和返回值
而C++对于签名的官方定义中并不包含函数的返回类型。
这意味着函数的重载不能根据返回值判断

	void Fun()
	{
	    
	}
	int Fun()//error:has already been declared with return type 'void'.
	{
	    return 0;
	}

2.3 定义式

提供给编译器一些声明式所遗漏的细节,
对对象而言是编译器为此分配内存的地点。
对于函数而言是提供了代码本体。
对于类而言是列出了内在的成员。

2.4 初始化

是给对象赋初值的过程。
- explicit关键字
可以阻止类型之间的隐式转换。
隐式转换可能带来意想不到的问题。
- copy构造和copy赋值(copying 函数)
复制构造在新对象被定义时调用。
- 比较好的方式是传常引用(const T&)

2.5 STL

Standard Template Library

2.6 Interface

C++没有,但是可以模拟其行为

2.7 Client

客户,代码服务的对象,可以是代码,也可以是使用它的人。

3. 命名习惯

  • Left-Hand Side:lhs
    左手端
  • Right-Hand Side:rhs
    右手端
  • Ptr to Class:pc
    指向类型的指针
  • Ref to Class:rc
    指向类型的引用

4. 关于线程

当C++受到全世界关注时,多线程的程序还不存在。
虽然现在他们存在了,本书的焦点不在这。但是我们不得不关于:线程安全性。我会及时指出。

5. TRI和Boost

比较好的代码库…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值