重新理理C++:从《c++ primer》开始

以前学过C++,但是感觉很多东西还是不清不楚,很多问题解决起来啃吧啃吧的。。。。

即使c++的东西看过,但是这本书看起来速度还是提不上去,确实需要扎实扎实。很多以前只会用的东西,这本书上都讲的很清楚,知道是怎么回事,很受益。

所以在这记录一下觉得有用的,以及这个过程中的问题:

1,main函数的返回值必须是int类型,是一个状态指示器(但是在以前,经常有看到void main()出现,可能和Java混淆了,Java语言中main()只能有一个,是static void 类型,返回植为空.)

2,在写C++程序中,大部分的出现空格符的地方都可以用换行符代替。这条规则的一个例外字符串字面值(string literal)中的空格符,不可以用换行符代替。另一个例外是空格符不允许出现在预处理指示中。(即,include行必须换行)

3,P16

问题:Q1:P35,在字符串字面值前面加上L就能得到Wchar_t类型的宽字符字面值?

         A1:标准要求wchar_t可以表示任何系统所能认识的字符,在win32中,wchar_t为16位;在Linux中,为32为,宽字符是双字节多语言字符代码。每个宽字符总是以固定的16大小表示。

         Q2:vector和数组的区别?

          A1:数组静态分配内存,定义时需要给出大小。vector动态分配内存,可以存储任何大小的数据。

        Q3:迭代器(iterator)和指针的区别?

        A1:指针在C中就有,迭代器是C++中的,迭代器类型提供了比下标操作更通用的方法:所有的标准库都定义了相应的迭代器类型,而只有少数的容器支持下表操作。因为迭代器对所有的容器都适用,c++程序更倾向于适用迭代器而不是下表操作访问容器元素。

原文地址:https://www.cnblogs.com/day-dayup/p/3570342.html