C++ Primer 学习中。。。 简单记录下我的学习过程 (代码为主) //全部容器适用 equal(b,e,b2) //用来比較第一个容器[b,e)和第二个容器b2开头,是否相等 equal(b,e,b2,p) mismatch(b,e,b2) //用来查找两个容器中第一个不相等的数据,返回迭代 ...
分类:
编程语言 时间:
2017-08-05 12:32:51
阅读次数:
158
练习7.6 练习7.7 见上 练习7.8 read里面涉及到revenue的计算,item.revenue被更新,因此定义为普通的引用;而print只是输出对象的值,故可以声明为常量引用; 练习7.9 见本章最后的程序吧。 练习7.10 判断data1和data2的输入是否正确(非空或者输入错误), ...
分类:
编程语言 时间:
2017-08-04 22:57:39
阅读次数:
216
练习7,2 练习7.3 见上面代码 练习7.4 练习7.5 应该是const,在这两个函数体内不会改变this所指的对象,所以把this设置为指向常量的指针有助于提高函数的灵活性。 ...
分类:
编程语言 时间:
2017-08-04 20:42:05
阅读次数:
257
练习6.52 a)类型提升; b)算术类型转换。 练习6.53 a)如果实参是常量引用,则调用下面的函数 b)如果实参是指向常量的指针,则调用下面的函数 c)不合法,因为在char*后面加上const指的是该指针是个常量,这是一个顶层const,一个拥有顶层const的形参无法和另一个没有顶层con ...
分类:
编程语言 时间:
2017-08-04 14:28:58
阅读次数:
174
今天学到的 30页~49页。 1.算术类型的选择,一般只用int,double。超出int则用long long,而不用long。浮点型用double而不用float,二者计算成本差别不大。 2.相加前先把i转化为无符号数。如果int占32位。则i mod 2的32次方,即-42 mod 42949 ...
分类:
编程语言 时间:
2017-08-04 10:11:37
阅读次数:
133
练习6.40 a)正确 b)错误,一旦某个形参被赋予了默认值,他后面的所有形参都必须有默认值。 练习6.41 a)错误,ht没有默认实参,而a的实参列表里也没有给出实参; b)合法,调用init(24 ,10 ,‘ ’); c)虽然合法,但是与程序猿的设计初衷不符,*会转换成十进制的数43,相当于调 ...
分类:
编程语言 时间:
2017-08-03 22:15:18
阅读次数:
276
练习6.43 a)放在头文件,因为内联函数和constexpr函数一般写在头文件中 b)函数的定义一般写在源文件,而声明放在头文件 练习6.44 练习6.45 内联函数一般用于优化规模小、流程直接、频繁调用的函数。 练习6.46 不行,isShorter函数如果定义成constexpr函数,需要返回 ...
分类:
编程语言 时间:
2017-08-03 21:57:53
阅读次数:
209
本文基于《C++ Primer(第5版)》加上自己的理解整理而成。 一条声明语句由一个基本数据类型和紧随其后的一个声明符(declarator)列表组成。一般如:int x;的声明语句,声明符就是变量名。 一、引用 引用(reference)为对象起了另外一个名字,引用类型引用另外一种类型,这里将声 ...
分类:
其他好文 时间:
2017-08-03 17:00:29
阅读次数:
142
练习6.36 练习6.37 个人觉的一般情况下使用类型别名和尾置返回类型比较简单,程序的观感比较强,特殊情况下使用第一种或decltype会更好。 练习6.38 ...
分类:
编程语言 时间:
2017-08-03 16:51:43
阅读次数:
147