第一章 预备知识
C++融合了三种不同的编程方式:过程性编程(C语言代表的)、面向对象编程(C语言基础上添加的类代表的)、泛型编程(C++模板支持)。
Linux上源代码文件编译完后生成后缀.o的目标代码文件,然后执行链接后生成文件名为a.out(默认取名)的可执行程序。
C++源文件名的后缀有.cpp、.cxx、.cc、.C
预处理器:在源代码被编译之前,替换或者添加文本。比如将预处理器编译指令包含的文件的内容添加到源代码文件中,或者替换宏。
C++头文件没有后缀,C头文件转换为C++后,后缀.h去掉,最前面加前缀c(表明来自C语言)。
using namespace std ,using编译指令,使用命名空间std。命名空间的作用就是对于同一个产品,可以通过名称空间的名称指出想使用哪个厂商的产品。对应到C++中就是区分开相同名称的函数、类等。
第二章 开始学习C++
C++中函数原型对于函数来讲就相当于变量声明对于变量,它是指出函数涉及的类型,如返回类型、参数类型。简答来说函数原型就是函数头,去掉参数列表中的参数名称,保留类型。
在源程序中使用函数时,需要提前提供函数原型,有两种方法实现:
- 直接在源代码中输入函数原型
- 包含该函数所在的头文件,其中定义了函数原型
不要混淆函数原型和函数定义,函数原型只描述了函数接口,即发送给函数的信息和函数返回的信息,也就是只有函数头部。而函数定义包含了函数体的代码。C++和C中将这两项特性(函数原型和函数定义)分开了,库文件中包含了函数定义,而头文件中包含了函数的原型。
在定义函数时,如果函数不接受任何参数,则可以在函数参数列表中写void。
没有返回值的函数,它的返回类型写成void。比如:void print() {}
main函数是程序的开始,它由操作系统调用,main函数的返回值是返回给操作系统。在这个层面也可以叫返回值为退出值,退出值为零意味着程序运行成功,非零意味着存在问题。
让程序能够访问名称空间的方法有三种:
- using namespace std;放在函数定义前,则文件中所有的函数都能够使用名称空间std中所有的元素。这里使用其他名称空间也一样。
- using namespace std;放在特定的函数定义中,则只有该函数能够使用名称空间std中的所有元素。
- 如果使用using std::cout;则说明只能够使用指定的元素cout。std名称空间中的其他元素不能使用;
- 不使用编译指令using,则在使用名称空间std中的元素时,必须加上前缀std::。
第三章 处理数据
使用sizeof运算符时,对类型名使用sizeof运算符时,应该将名称放在括号中;对变量名使用sizeof运算符时括号是可选的。
头文件climits定义了符号常来表示类型的大小限制。比如INT_MAX表示类型int能够存储的最大值。
初始化是将赋值和声明合并在一起。
// 声明了变量n_int,并将int的最大值赋值给它
int n_int = INT_MAX;
C++11的初始化方式
// 使用大括号初始化器对单个变量进行初始化,等号可用可不用
int hamburgers = {24};
int emus{7};
// 大括号内,可以不包含任何东西,此时变量将被初始化为0
int rocs = {};
确定常量的类型:
整数1429是存储为int、long还是其他类型呢?可以通过使用后缀的方式来表示类型。整数后面的l或者L表示该整数是long常量。u或者U表示unsigned int常量。大小写都可以。UL和LU都表示unsigned long类型。LL表示long long
基于字符的八进制和十六进制编码来使用转义序列。比如,Ctr + Z的ASCII码为26,对应的八进制编码为032,十六进制编码为0x1a。那么可以使用转义序列来表示该字符:\032或\x1a。也可以将这些编码用单引号括起来,可以得到相应的字符常量,如’\032’,或者在字符串中“hi\x1a there”。
标签:std,函数,int,笔记,学习,原型,C++,使用 From: https://blog.csdn.net/weixin_44851234/article/details/140248847