您的位置:首页 > 编程语言 > C语言/C++

【C++学习01】《Essential C++》第一章(Basic C++ Programming)笔记

2015-03-14 21:57 351 查看
编程语言一直没有学好,也就是过了计算机二级的水平。《C++ Primer》也就看了80页,还是太懒啦。

 

图书馆借了一本《Essential C++》和《C++ Primer》的作者一样,都是Lippman。侯捷的翻译。薄薄200多页。算是入门吧。

最近发现似乎有个规律(好吧,我乱编的),介绍一个系统一个分支的书籍,大概在700页左右。反正我见了好多都是这样。

好了,废话少说。

今天看了第一章,好吧,我进度好慢。

IDE是Qt5.4,反正最近是懒得用Visual Studio了。

看OpenCV的时候有些代码编写方式理解不了。就决定用一些时间看看C++,要不然看着太痛苦了。

不过这本书有些早了。所以有些地方可能有些过时吧。不过VC6.0多久之前了。不要在意这些细节了。

这本书的感觉是进度很快。很多当年教科书讲了好久的东西直接都给你了,可能领悟力差的话不是很适合做第一本书吧。毕竟考过计算机二级了,好吧,我承认这种考试很水,但是看着还是很爽的。不墨迹。

接下来,列一下看书的时候画下来和自己感觉到的一些东西。

0.有些人学习,自练一身钢筋铁骨,可以在热带丛林中披荆斩棘,再茫茫草原中追奔逐北。有些人的学习,即未习惯大部头书,也为习惯严谨格调,更未习惯自修勤学,是温室里的一朵花,没有自立自强的本钱。

1.鼓励多用vector和string这两个class取代语言内置的array和C-style字符串。

2.基础数据类型:Boolean、character、integer、floating point。

3.function包含四个部分:return type、函数名称、parameter list、function body。

4.main并非是程序语言定义的关键字。ps:我测试了int main = 1; cout << main;没问题,但是测试include也没问题。测试delete不行。百度一下,include和main都不是C++关键字。

5.数据输入和输出,并非C++程序语言本身定义的一部分。(此精神同C语言,见K&R第7章)我估计是为了更好的移植,到时候看K&R的时候再深究吧。

6.所谓class,是user_defined data type。class机制,赋予了我们“增加程序内之类形抽象化层次”的能力。嗯,就是字面意思。

7.练习1.2要求把开始的#include<string>注释掉。我的结果是——无差别。百度大意是有些iostream中有string,但是为了保险(适应各种编译器),最好加上。

8.构造函数初始化语法比用等号赋值的有点在于,能处理“多值初始化”,举例是给复数赋值。

9.template class(模板类),使用尖括号表示。template class机制使程序员得以直到使用template class时才决定真正的数据类型。程序员可以先插入一个代名,稍后才绑定至实际的数据类型。

10.转义字符(escape sequence):

'\n'
换行符(newline)

'\t'
制表符(tab)

'\0'
null

'\''
单引号(single quote)

'\"'
双引号(double quote)

'\\'
反斜线(backslash)

11.for语句中,如果condition第一次求职即为false,那么statement一次也不会执行。

12。可用array初始化vector。

13..vector知道自己的大小是多少。

14.指针的双重性质,既可以让我们操作指针包含的内存地址,也可以让我们操作指针所指的对象值。

15.指针初始化,使它们不指向任何对象。这个问题我表述不清楚。

16.当我们以追加模式来打开文档(append mode),文件位置会位于末尾。如果我们没有先重新定位,就试着读取文件内容,那么立刻就会遇上“文件结束”的状况。seekg()可将iofile重新定位至文件的起始处。(额,这个问题这本书不打算详谈,我暂时也不打算深究。)

第一章就是这样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: