<C++ Primer 4th>读书摘要 基本上所有的语言都要提供下列特征: • 内置数据类型,如整型.字符型等. • 表达式和语句:表达式和语句用于操纵上述类型的值. • 变量:程序员可以使用变量对所用的对象命名. • 控制结构:如 if 或 while,程序员可以使用控制结构有条件地执行或重复执行一组动作. • 函数:程序员可以使用函数把行为抽象成可调用的计算单元. 大多数现代程序语言都采用两种方式扩充上述基本特征集:允许程序员通过自定义数据类型扩展该语言:提供一组库例程,这些例程定义了一…
第九章  内存模型和名称空间 1.如果文件名包含在尖括号中,则c++编译器将在存储标准头文件的主机系统的文件系统中查找,但如果文件名包含在双引号中,则编译器将首先查找当前的工作目录或源代码目录(或其他目录,这取决于编译器),在包含自己的头文件时,应使用引号而不是尖括号. 2.存储持续性:(1)自动存储持续性:在执行完函数或代码块时,他们使用的内存被释放. (2)静态存储持续性:static,在整个程序运行过程中都存在. (3)线程存储持续性:使用关键字thread_local声明的,其生命周期和…
1.如果函数返回一个结构而不是一个指向结构的引用,将把整个结构复制到一个临时位置,再将这个拷贝复制给dup.但在返回值为引用时,将直接复制给变量,其效率更高. 2.返回引用时最重要的一点是,应避免返回函数终止时不再存在的内存单元调用. 避免方法:(1)返回一个作为参数传递给函数的引用. free_throws & accumulate(free_throws & target,const free_throws &sourse) { ....... return target; }…
1.读取char值时,与读取其它基本类型一样,cin将忽略空格和换行符,函数cin.get(ch)读取输入的下一个字符(即使是空格),并将其赋给变量ch. 2.指针和const:(1)让指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值.(2)将指针本身声明为常量,这样可以防止改变指针指向的位置. 3.执行函数调用语句时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈,跳到标记函数起点的内存单元,执行函数代码(也许还需将返回值放到寄存器中),然后跳回到地址被保存的指…
使用类: 1.重载限制:(1)重载后的运算符必须至少有一个操作数是用户定义的类型,这将防止用户为标准类型重载运算符 (2)使用运算符时不能违反运算符原来的语法规则,不能修改运算符的优先级 (3)不能创建新运算符 (4)不能重载下面的运算符: .:成员运算符 sizeof .*:成员指针运算符 :::作用域解析运算符 ?::条件运算符 typeid:一个RTTL运算符 const_cast :强制类型转换运算符 dynamic_cast:强制类型转换运算符 reinterpret_cast:强制类…
1. OOP强调的是在运行阶段(而不是编译阶段)进行决策,运行阶段指的是程序正在运行时,编译阶段指的是编译器将程序组合起来时. 2.变量的值都存储在栈中,而new从被称为堆或自由存储区的内存区域分配内存. 3.静态联编:是在编译时加入到程序中的. 动态联编:是在程序运行时创建的. 4.数组名被解释为其第一个元素的地址,而对数组名应用地址运算符时,得到的是整个数组的地址. 5.自动存储:在函数中创建,用完就消亡. 静态存储:整个程序执行期间都存在的存储方式. 动态存储:new和delete运算符提…
对象和类: 1.类和结构的唯一区别是结构的默认访问类型是public,而类为private: 2.其定义位于类声明中的函数都将自动成为内联函数,也可以在类声明外定义成员函数,并使其成为内联函数,为此只需在类实现部分中定义函数时使用inline限定符即可. 3.在OOP中,调用成员函数被称为发送消息,因此将同样的消息发送给两个不同的对象将调用同一个方法,但该方法被用于两个不同的对象. 4.void stock::show() const 以这种方式声明和定义的类函数被称为const成员函数,就像应…
刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内容,结合自己曾经所学所用,很多地方都想得更深了.结合C++11,也有很多新的发现.人就是在不断否定过去的自己中成熟的. 以下是书的第2章,变量和基本类型,的一些笔记. 一.基本内置类型 基本数据类型包括算数类型(arithmetic type)和空类型(void). 书中列出了每种类型的最小存储空间,在不同机…
C++ Primer 第二章 变量和基本类型 2.1 基本内置类型 C++定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type),此外还定义了Void类型. 算术类型的存储空间大小(指用了表示该类型的二进制位数)依机器而定,C++标准规定了每个算术类型的最小存储空间.实际上,大部分编译器都使用了更大的存储空间. 表2-1   C++:算术类型 类型 含义 最小存储空间 备注 整型 布尔值 bool 布尔型 -------- 字符型 char 字符型 8位 通常是…
变量和基本类型之第一篇:基本内置类型和变量 一. (1) C++定义了一套包括算数类型和空类型,这些类型有:布尔类型bool,字符类型char,宽字符类型wchar_t,Unicode字符char16_t,Unicode字符char32_t,短整型short(int), 整形int,长整形long(int),长整形long long(int),单精度浮点型float,双精度浮点型double,扩展精度浮点数long double. 其中,wchar_t.char16_t.char32_t用于扩展…