1.declaration:告诉编译器某个标识符的name和type,同时略去具体细节。

extern int x;     //对象(object)声明式

std::size_t  numDigits( int number);//函数(function)声明式

class Widget;    //class 声明式

template <template T> ;    //模板(template) 声明式

class GraphNode;

NOTE:

1.这里作者把X称之为对象,不局限user-defined type variable。跟自己的想法还是一样的。毕竟都暂用内存空间,只不过内置的相对简单而已。

2.函数签名( signature),也就是函数参数和返回类型。比如numDigits 的 签名是std::size_t (int)。类似推之,array是不是也有签名呢?比如:int * a[]

2.definition:提供编译器一些声明式所遗漏的细节。

对象:编译器为该对象拨发内存的地点。

function/function template :提供code body

class/class template :list all members

3.initialize:给予初始值的过程。

对于 user-define type variable :初始化由构造函数执行。

default 构造函数:一个可被调用而不带任何实参者。如果不带实参,要么本来就没有参数,要么有参数但没有传递,其实所有的参数都有default缺省值。

explicit/implicit声明构造函数:这个知识点不知道????,回头查阅。

但建议explicit 声明构造函数。

class c {

public:

explicit c (int x);

}

4.构造函数的复制(copy构造和copy赋值)

copy 构造函数被用来“以同类型对象初始化自我对象”

copy assignment操作符被用来“从另一个同类型对象中拷贝其值到自我对象”

自我理解:1.都是取同类型对象的值 赋值给 该对象。

2.copy是初始化,copy assignment 是拷贝。这个才是重点。初始化一定是在声明时,有构造函数被调用来初始化。反之,在没有新对象被定义

还要改变对象的值,必须要assginment。

5.pass-by-value  & pass-by-reference-to-const

bool hasAcceptableQuality(Widget w);

...

Widget aWidget;

if(hasAcceptalbeQuality(aWidget))....

pass-by-value 意味 调用copy构造函数。传递一个副体给函数形参w.这个不是一个好方法,一般用pass-by-reference-to-const。

6.STL(standard template library) 这个貌似不懂,或许自己忘了!!!

7.undefined behavior .

一般都是null pointer  以及数组越界问题。

8.client(客户)

使用者,比如接口interface,可以是人可以是函数。。。。一个主动者。自己也可以是自己的client,如果自己用自己的code.

9.naming conventions

widget : 泛指一个普通的class。

rhs: right-hand side

lhs: left-hand side

pt: pointet to T //指向一个T型对象

rw: reference to widget//widget *pw;

ra:reference to airplane

mf: member function //类的成员函数

10.threading consideration

11.TR1 & boot

觉得不重要,略。

最新文章

  1. css学习归纳总结(一) 转
  2. 重温WCF之WCF传输安全(十三)(2)基于SSL的WCF匿名客户端(转)
  3. LeetCode 笔记系列 20 Interleaving String [动态规划的抽象]
  4. java io流 对文件操作
  5. android桌面快捷方式跳转到指定activity
  6. POJ C++程序设计 编程题#4 字符串操作
  7. Flume连接Kafka的broker出错
  8. 深入了解HTTP协议、HTTP协议原则
  9. ssd可以用作redo 盘吗?
  10. Trouble Shooting
  11. [HNOI 2014]道路堵塞
  12. [Abp 源码分析]十一、权限验证
  13. (转载)最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
  14. Spring Cloud微服务架构图
  15. ssh免密钥之上厕所
  16. 关于EL表达式随笔记录
  17. Oracle sqlldr导入之“MAXIMUM ERROR COUNT EXCEEDED”
  18. Java文件复制删除操作合集
  19. Django学习---Form组件认证
  20. swift动态库与use_frameworks

热门文章

  1. YCOJ-DFS
  2. 第四篇 .NET高级技术之结构体及值类型引用类型
  3. 给Clouderamanager集群里安装可视化分析利器工具Hue步骤(图文详解)
  4. java sevlet Session
  5. Squid启动报:Could not determine this machines public hostname. Please configure one or set &#39;visible_hostname&#39;.
  6. AJPFX辨析Java中运算符 ++ 和 += 的区别
  7. 分布式数据存储 之 Redis(二) —— spring中的缓存抽象
  8. 【学习笔记】深入理解js原型和闭包(18)——补充:上下文环境和作用域的关系
  9. Android中进程与线程及如何在子线程中操作UI线程
  10. laravel核心思想