《C++ Primer》笔记-#include,#ifndef】的更多相关文章

C++ Primer笔记 ch2 变量和基本类型 声明 extern int i; extern int i = 3.14;//定义 左值引用(绑定零一变量初始值,别名) 不能定义引用的引用:引用必须被初始化:类型严格匹配:不能绑定字面值/计算结果:无法二次绑定 int i=4; int &r=i; 指针 本身是对象,允许赋值和拷贝:无需定义时赋初值:类型严格匹配 int *ip1, *ip2; int ival = 42; int *p = &ival; *p = 0; cout <…
1.理解 #include 指示是怎样工作的 #include 设 施是 C++ 预处理器的一部分.预处理器处理程序的源代码,在编译器之前运行. C++ 继承了 C 的非常精细的预处理器.现在的 C++ 程序以高度受限的方式使用 预处理器. #include 指示只接受一个参数:头文件名.预处理器用指定的头文件的内 容替代每个 #include.我们自己的头文件存储在文件中.系统的头文件可能用 特定于编译器的更高效的格式保存.无论头文件以何种格式保存,一般都含有支 持分别编译所需的类定义及变量和…
今天打算再重新好好的看一遍C++ Primer这本很经典的书籍,笔记开始: 1.每个C++程序都包含一个或者多个函数,其中必须有一个main,操作系统通过调用main入手运行程序: 2.函数包括:返回类型.函数名.行参列表.函数体.main函数的返回类型必须是int整数类型.一般系统中,main的返回值用来指示状态,返回值为0表明成功,非0由系统定义: 3.输入输出(IO):标准库(std)里的iostream库包含两个基础类型istream和ostream,分别为输入流和输出流,一个流就是一个…
这次要看看C++ Primer,这本基本上就是必读书籍了.下面的内容就是一些之前没有学过的知识的笔记. 读取数量不定的输入数据 虽然很简单,但是还是记一下: #include <iostream> int main(){ int sum = 0, value = 0; while(std::cin >> value){ sum += value; } std::cout << "sum is: " << sum << std:…
1.初始化 在C++中,初始化与赋值操作是完全不同的两个操作.初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来代替. 初始化的方式有: ; }; }; ); 第3行这种使用花括号初始化的方式被称为列表初始化(C++11新标准).而从第2行中可以看出,赋值操作也可以采用一组由花括号括起来的初始值来完成.而采用这种初始化的方式的好处在于,在出现初始化操作存在丢失信息的风险时,编译器会进行警告,而另外两个却不会.当然,这必须是在初始化内置类型变…
C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字符型 8 wchar_t 宽字符型 16 short 短整型 16 int 整型 16 long 长整型 32 float 单精度浮点型 6位有效数字 double 双精度浮点型 10位有效数字 long double 扩展精度浮点型 10位有效数字 2.1.1整型 包括整数字符和布尔型. 字符型:…
C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: main函数返回值必须是int类型. 参数: main(int argc, char *argv[]) ; argc:参数个数: argv:参数(字符串形式,第一个参数是可执行文件的URL) 编译与执行 IDE(集成开发环境)将编译器与相关的构建与分析工具绑定在一起. 命令行编译与执行 调用GNU编译器…
在这一章中,有以下的几点收获: 1.pair类型的使用相当频繁,如果需要定义多个相同的pair类型对象,可考虑利用typedef简化其声明: typedef pair<string, string> A;这样,在后面的使用中就可以直接用A来代替前面繁琐的书写. 2.三种方法创建pair对象: (1)第一种方法:使用函数make_pair() pair<string, string> spair; string first, last; while(cin >> firs…
最近又重新拾起C++primer,发现每一次看都会有不同的体验,但每一次看后因为不常用,忘记得很快,所以记笔记是很关键的一环,咋一看是浪费时间,实际上是节省了很多时间.下面就把这一节的内容做一个简单的提炼和小节: 1.IO库类型不支持复制或赋值,因此,不能创建存放IO类型对象的容器. 2.在指定容器元素为容器类型时,必须如下使用空格: vector< vector<string> > lines; //OK! vector< vector<string>>…
第二章笔记  (貌似记得有点多)   把负值赋给unsigned对象时完全合法的,其结果是该负数对该类型的取值个数求模后的值   -1     (对265求模)  255   float型只能保证6位有效数字,而double型至少可以保证10位有效数字   定义长整形时,应该使用大写字母L.小写字母l很容易和数值1混淆   L‘a'在字符字面值前加L就能够得到wchar_t(扩张字符集,比如汉字和日语)类型的宽字符字面值   在一行的末尾加一反斜杠(\)符号可将此行和下一行当作同一行处理. 不允…