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

觉得不重要,略。

terminology(术语)的更多相关文章

  1. kafka术语

    kafka 架构Terminology(术语) broker(代理) Kafka集群包含一个或多个服务器,这种服务器被称为broker Topic  每条发布到Kafka集群的消息都有一个类别,这个类 ...

  2. asynchronous vs non-blocking

    http://stackoverflow.com/questions/2625493/asynchronous-vs-non-blocking In many circumstances they a ...

  3. The Automated Testing Handbook 自动化测试手册简介

    Learn what works, what doesn't and why. The Automated Testing Handbook is a practical blueprint for ...

  4. maintenance

    Maintenance Primitives Operator经常需要在包含Mesos集群的机器上执行维护任务. 大多数Mesos升级可以在不影响运行的任务的情况下完成,但是有些情况下维护可能会影响正 ...

  5. 【Coursera】Security Introduction -Eighth Week(2)

    Review -Terminology(术语): Confidentiallity & Integrity 泄密 & 欺骗 Confidentiallity: Prevent unau ...

  6. 【Coursera】Security Introduction -Eighth Week(1)

    Security Introduction People With Bad Intent 今天,Bob 向 Alice 发送了一条 "Hello,Allice!" 的信息,他们希望 ...

  7. Multithreading in C

    Multithreading in C, POSIX(可移植操作系统接口Portable Operating System Interface X ) style Multithreading - A ...

  8. Course Machine Learning Note

    Machine Learning Note Introduction Introduction What is Machine Learning? Two definitions of Machine ...

  9. words2

    餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘 ...

随机推荐

  1. Angular 项目开发中父子组件传参

    在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...

  2. Vue 基础指令学习

    学习Vue的一些总结,第一次写博客,文笔实在是很差 不过我会不断写的. <template> <!--只能有一个根节点 --> <div> <pre> ...

  3. .bashrc等文件中的rc是什么意思

    转自:  https://blog.csdn.net/u010167269/article/details/52612260 刚刚配置 .bashrc 文件时,突然想,这里面的 rc 是什么意思? 使 ...

  4. Hexo瞎折腾系列(3) - 添加GitHub彩带和GitHub Corner

    页面右上角添加GitHub彩带 你可以在这里找到一共12种样式的GitHub彩带,复制其中的超链代码. 在themes\next\layout\_layout.swig目录下找到头部彩带相关的代码: ...

  5. printf格式化输出参数

    1.类型 类型字符用以表示输出数据的类型,其格式符和意义如下表所示: 格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进 ...

  6. java.util.Properties类的介绍-配置文件的读写【-Z-】

    简介:java.util.Properties是对properties这类配置文件的映射.支持key-value类型和xml类型两种. #打头的是注释行,Properties会忽略注释.允许只有key ...

  7. 项目错误提示Multiple markers at this line

    新安装个Myeclipse,导入以前做的程序后程序里好多错,第一行提示: Multiple markers at this line         - The type java.lang.Obje ...

  8. JAVA 运用流编程实现简单的"记事本"功能

    一.概要 1.功能介绍 2.实现的思路及步骤代码 3.完整代码 二.功能 运用IO流和Swing实现简单的记事本功能(打开.保存.退出) 三.思路及实现步骤 1.在构造函数中画出操作界面 //创建jt ...

  9. 【转】Java中创建对象的5种方式

    Java中创建对象的5种方式   作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有 ...

  10. RabbitMq+Haproxy负载均衡

    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保 ...