, 否则声明为explict
C++有大量未定义(undefined)的行为, 一定要小心....这些行为结果并非报错, 而是与编译器和执行环境相关的无法估计的结果
"接口"通常指函数的签名
1 让自己习惯C++
1 视C++为一个语言联邦
将C++看作是以多个相关语言组成的结合体而不是一个关系紧密的单一语言...8 别让异常逃离析构函数
由于在C++中两个异常同时存在会导致未定义行为, 因此我们不应该让析构函数上报异常, 这是因为析构函数是会被自动调用的, 当一个对象析构而抛出异常时, 同个作用域的其它对象的析构也会被自动执行...的设计
有以下几点一定要在创立前进行思考:
如何创建和销毁
初始化和赋值的区别
如果被按值传递的话会有什么区别
有哪些是"合法值"
需要继承/被继承么
需要哪些类型转换
需要哪些操作符
哪些编译器函数需要拒绝..., 因为大多数运算符都需要符合交换律, 而此时如果是成员函数, 调用函数的对象本身并不处于参数列中, 这会导致调用错误), 应该使用非成员函数然后写入所有所需的参数
member的反面是non-member