terminology(术语)
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(术语)的更多相关文章
- kafka术语
kafka 架构Terminology(术语) broker(代理) Kafka集群包含一个或多个服务器,这种服务器被称为broker Topic 每条发布到Kafka集群的消息都有一个类别,这个类 ...
- asynchronous vs non-blocking
http://stackoverflow.com/questions/2625493/asynchronous-vs-non-blocking In many circumstances they a ...
- The Automated Testing Handbook 自动化测试手册简介
Learn what works, what doesn't and why. The Automated Testing Handbook is a practical blueprint for ...
- maintenance
Maintenance Primitives Operator经常需要在包含Mesos集群的机器上执行维护任务. 大多数Mesos升级可以在不影响运行的任务的情况下完成,但是有些情况下维护可能会影响正 ...
- 【Coursera】Security Introduction -Eighth Week(2)
Review -Terminology(术语): Confidentiallity & Integrity 泄密 & 欺骗 Confidentiallity: Prevent unau ...
- 【Coursera】Security Introduction -Eighth Week(1)
Security Introduction People With Bad Intent 今天,Bob 向 Alice 发送了一条 "Hello,Allice!" 的信息,他们希望 ...
- Multithreading in C
Multithreading in C, POSIX(可移植操作系统接口Portable Operating System Interface X ) style Multithreading - A ...
- Course Machine Learning Note
Machine Learning Note Introduction Introduction What is Machine Learning? Two definitions of Machine ...
- words2
餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘 ...
随机推荐
- 自定义层or网络
目录 Outline keras.Sequential Layer/Model MyDense MyModel Outline keras.Sequential keras.layers.Layer ...
- iOS 自建企业级应用(In-House)分发平台
注意事项 自建分发平台,首先需要有一个可以提供下载功能的服务器,而且服务器需要支持HTTPS协议! 其实,使用七牛云就可以完成这些操作. 推荐方案 七牛云实践方案简述(感兴趣的朋友可以和我交流具体的实 ...
- oracle 生成随机数
产生一个介于指定范围之内的38位精度的随机数SQL> SELECT DBMS_RANDOM.VALUE(1, 9999) FROM dual; DBMS_RANDOM.VALUE(1,9999) ...
- 洛谷P3379lca,HDU2586,洛谷P1967货车运输,倍增lca,树上倍增
倍增lca板子洛谷P3379 #include<cstdio> struct E { int to,next; }e[]; ],anc[][],log2n,deep[],n,m,s,ne; ...
- 1-13Object类之toString方法
Object中的toString方法 SUN在Object类中设计toString方法的目的:返回java对象的字符串表示形式. 在现实的开发过程中,Object中的toString方法就是要被重写的 ...
- A8ERP管理系统(采购单管理)
花了一个星期的时间终于把采购模块完成了. 最近新开发的采购单管理,供大家参考学习,软件一步一步来.
- css实现行内文字垂直居中
之前本人一直使用浮动.相对定位.绝对定位和display:table等css的方法进行定位.网上得知flex可实现弹性布局,符合未来发展趋势,随尝试. 1:让盒子行内文字垂直居中,解决思路是讲文字的行 ...
- 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:解决
严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal Contain ...
- Java练习题01
问题: 利用二维非矩阵数组输出下面的数字 0 1 2 2 3 4 3 4 5 6 代码: public class Page98{ public static void main(String ...
- EOS Dapp体验报告
EOS Dapp体验报告 EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题. EOS能够实现每秒百万级的处理量,而目前比特币是每秒7笔,以太坊是30-40笔,EOS的这一超强能力吊打比特币 ...