Effective C++
search
Ctrlk
  • 介绍
  • 0.导读
  • 1.让自己习惯 C++chevron-right
  • 2.构造/析构/赋值运算chevron-right
  • 3.资源管理chevron-right
  • 4.设计与声明chevron-right
    • 条款18:让接口容易被正确使用,不易被误用
    • 条款19:设计 class 犹如设计 type
    • 条款20:宁以 pass-by-reference-to-const 替换 pass-by-value
    • 条款21:必须返回对象时,别妄想返回其 reference
    • 条款22:将成员变量声明为 private
    • 条款23:宁以 non-member、non-friend 替换 member 函数
    • 条款24:若所有参数皆需类型转换,请为此采用 non-member 函数
    • 条款25:考虑写出一个不抛异常的 swap 函数
  • 5.实现chevron-right
  • 6.继承与面对对象设计chevron-right
  • 7.模板与泛型编程chevron-right
  • 8.定制 new 和 deletechevron-right
  • 9.杂项讨论chevron-right
gitbookPowered by GitBook
block-quoteOn this pagechevron-down

4.设计与声明

Designs and Declarations

条款18:让接口容易被正确使用,不易被误用

条款19:设计 class 犹如设计 type

条款20:宁以 pass-by-reference-to-const 替换 pass-by-value

条款21:必须返回对象时,别妄想返回其 reference

条款22:将成员变量声明为 private

条款23:宁以 non-member、non-friend 替换 member 函数

条款24:若所有参数皆需类型转换,请为此采用 non-member 函数

条款25:考虑写出一个不抛异常的 swap 函数

Previous条款17:以独立语句将 newed 对象置入智能指针chevron-leftNext条款18:让接口容易被正确使用,不易被误用chevron-right

Last updated 6 years ago