从《thinking in C++》被迫转到《C++ Primer》第一天

今天啃《thinking in C++》有种不能继续下去的感觉,一方面我一看书就停不下来,难懂+没有休息容易困,所以看的速度并不快。另外感觉里边有很多内容在建立在你了解其使用的基础上的理论提升,所以我认识需要补一下基础。在网上查了一下,确定串插着看《C++ Primer》。

《C++ Primer》第一、二章笔记

一些基本的类型、控制语句、关键字什么的我都略过了。

1.在#include时,标准库的头文件用尖括号 < > 括起来,非标准库的头文件用双引号 " " 括起来。

2.输出缓冲区通常必须显式刷新以强制输出缓冲区内容。默认情况下,读 cin 会刷新 cout;当程序正常结束时,cout 也被刷新。

3.使用 double 类型基本上不会有错。在 float 类型中隐式的精度损失是不能忽视的,而 double 类型精度代价相对于 float 类型精度代价可以忽略。事实上,有些机器上,double类型比 float 类型的计算要快得多。long double 类型提供的精度通常没有必要,而且还需要承担额外的运行代价。

4.报警(响铃)符 \a  (只是觉得有意思)

5.有一些地方不能插入空格,其中之一是在单词中间。特别是不能在单词中间断开一行。但可以通过使用反斜线符号巧妙实现:

std::cou\

t << "Hi" <<endl;

相当于std::cout << "Hi" <<endl;

6.C++ 中的标识符都是大小写敏感的

7.除了关键字,C++ 标准还保留了一组标识符用于标准库。标识符不能包含两个连续的下划线,也不能以下划线开头后面紧跟一个大写字母。有些标识符(在函数外定义的标识符)不能以下划线开头。

8.初始化不是赋值

9.复制初始化和直接初始化有区别

int ival(1024); // direct-initialization

int ival = 1024; // copy-initialization

10.可以通过一个计数器和一个字符初始化string 对象。使包含重复多次的指定字符:std::string all_nines(10, ‘9‘); // all_nines= "9999999999"

11.在函数体外定义的变量都初始化成 0,在函数体里定义的内置类型变量不进行自动初始化。

看到2.3了,太晚了,脑袋装不下了,明天继续看吧。

感受1:外国作者年纪都很大吗?这本书跟《thinking in C++》一样,好多重复的说明,翻来覆去地叨叨,没办法适应一下吧,谁叫这是名书呢。

感受2:感觉有些作者包括外国作者,特别愿意把一些很烂的习惯的研究放在书里占用篇幅来讲,比如C++支持一个局部变量和全局变量名相同,还美其名曰“C++ 中作用域可嵌套”。我觉得这种不好的习惯应该禁止,至少不推荐,更不要美化。说清楚如果区分二者就行了。

时间: 2024-08-07 21:20:59

从《thinking in C++》被迫转到《C++ Primer》第一天的相关文章

约束中的存在

时间,从什么时候开始?从“奇点”开始,或本身就是一个循环.我们站在这个不规则圆(或许存在一些折痕什么的)的一点,所看到的只是一条直线,就像地面看去是方的.但这确实就是我们看到的.作为一个“俗人”,或许并不关心什么是时间,可能只需要看到这样就够了,从生到死,一条直线走到头,这就是生命的时间.不可能像火炬木里面,单独的 让时间为某个人停留,因为时间是与空间分不开的.这是自然的约束,我们是何其的渺小,渺小到常常会嘲笑造物主.其实,这个约束是一种恩赐,是造物主赐予的最大的恩惠.      宇宙中处处都是

“王者归来”:美军被迫再陷中东

打击.遏制乃至消灭“伊斯兰国”武装是多数国家意愿所在,也符合阿拉伯伊斯兰世界的整体利益.但是,一旦负荷其他诉求,动机必然不纯,情势大为不同,后果也许更为不妙.奥巴马的新决定无疑将再次搅动中东的马赛克式博弈局面,如果观照过去3年大国在该地区的激烈博弈,并与继续发酵的乌克兰危机关联,中东留给美国这个王者的又将是什么呢? 9月10日,美国总统奥巴马做出应对中东恐怖与极端主义的新决策,准备在中东腹地扩大和升级军事行动,打击.遏制并最终摧毁纵横伊拉克和叙利亚的“伊斯兰国”武装.这意味着,奥巴马的大中东收缩

小白的消费为何被迫升级?-java数据类型的转换

背景 小白最近有点烦恼,原因也很简单,不知道为何?小白的消费不知不觉被迫升级了,请看费用清单: for (byte b = Byte.MIN_VALUE; b < Byte.MAX_VALUE; b++) { if (b == 0x90) System.out.print("life is Happy!"); } 本来小白预期输出结果: life is Happy! 但是什么都没有输出,这是怎么回事呢?是不是以后的幸福小日子就没了? 于是小白向柯南请教: 破案 为了比较byte

被迫使用了坑爹sea.js后如何改造jquery插件

// jquery-plugin-abc define(function(require, exports, module) { var $ = require('$'); // 插件的代码 $.fn.abc = function() {}; }); 详情见 https://github.com/seajs/seajs/issues/971

css3之@font-face---再也不用被迫使用web安全字体了

1,@font-face 的出现在没有css3之前,我们给网页设计字体只能设置web安全字体,使得我们的网页表现看上去好像都是那个样子,那么如果我们想给字体设置web设计者提供的字体呢?没有问题,css中的@font-face 就可以帮助你解决这个问题.原理是通过将字体文件存储到服务器,再需要时被自动下载到用户的计算机中,缺点:这种字体好像是收费的,可能会影响加载速度,不过在当今的网速下,为了美加载速度可以忽略不计 2,@font-face 的使用@font-face 这个属性怎么使用呢?也就是

韩国一客机准备起飞时撞上其他飞机 被迫返航

北京时间12日消息,据国外媒体报道,美国航空航天局(NASA)的一项新研究发现,过去数十年来南极海冰的增加并不足以抵消加速减少的北极海冰.整合两极的数据可以看到,全球海冰面积正以平均每年约35000平方公里的速度减少,换句话说,每年减少的海冰面积比美国马里兰州还大将北极海冰的减少量与南极海冰增加量进行整合之后,可以发现自1979年以来,全球海冰面积正以平均每年约35000平方公里的速度减少,换句话说,每年减少的海冰面积比美国马里兰州还大. "尽管去年九月,南极海冰面积达到了新的最大记录,但全球海

Android 处理用户被迫下线

Android应用如果跟账号相关,一般都不允许一个账号在多台设备上同时登录,当发生这种情况的时候就要把页面跳转到登录页要求用户重新登录.下面是发生这种情况的时候应用回退栈的情况: 这时有下面几种可能发生的情况: 1.用户使用刚才的账号重新登录: 在启动HomeActivity的时候,只要加上 Intent.FLAG_ACTIVITY_CLEAR_TOP标志就可以把HomeActivity上面的Activity弹出,使HomeActivity成为栈顶. 2.用户使用另外一个账号登录: 按照上面的方

while循环问题(老师询问问题,学生回答。学生会了可以放学,或者老师讲了10遍,还是没有会的,被迫无奈也要放学。)

string a=""; int i = 1;//声明一个变量,老师重新讲课的次数. while (i <=10 && a != "yes") { Console.WriteLine("同学们,这道题你们会做了吗?回答yes/no"); a = Console.ReadLine(); if (a == "yes") { Console.WriteLine("可以放学回家了"); bre

WannaCry勒索病毒卷土重来:日本本田工厂被迫关闭

6月22日消息,前阵子WannaCry勒索病毒席卷全球,世界各地网络遭到攻击.日前,偃旗息鼓了一阵的WannaCry勒索病毒又重回人们视线,迫使一家汽车厂在日本关闭. 路透社报道,本田Sayama工厂不得不在星期一停止生产,由于WannaCry勒索病毒袭击其网络.该工厂每天投放大约1000辆车,包括Accord轿车.Odyssey和Stepwgn小型货车. WannaCry勒索病毒卷土重来 汽车制造商并没有立即回复评论请求,而是发言人告诉路透社,WannaCry勒索病毒已经袭击了本田在日本.北美