一.C++ 变量
1.初始化与赋值的关系
初始化不是赋值,初始化是创建某个变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,用一个新值代替。
2.声明和定义的关系
(1) 声明使得名字被程序所知,定义则是负责创建与名字关联的实体。
(2) 变量声明规定了变量的类型和名字,定义除此之外,还需要申请存储空间,也可能会为变量赋初值。如果想声明一个变量而非定义它,则需要在变量名前加一个extern,而且不要显示初始化变量。任何包含了显示初始化的声明都会成为定义。 例如:
extern double pi=3.1416;//定义
(3)变量只可以被定义一次,但是可以被多次声明
二.C++ 函数
1.主要目的:
函数的主要目的是为了防止代码重复,这对于重复一些代码时产生的臃肿,可以使代码看起来更加简洁。
2.举例:
(1)如果我们需要计算两个整数的值
(2)由上述程序我们可以得知我们重复进行了两个整数的乘积,这对于一些比较复杂的代码而言会产生重复,故调用函数则会使程序看起来简洁:
三.C++ 头文件
1.作用
头文件一般用于声明某些类型的函数,以便在其他的C++文件中使用。 例如C++函数所举出的例子,如果我们需要在新的cpp文件中调用 apple 函数,我们需要对apple进行声明,而在大量的c++文件应用中,一直进行函数的声明不可取,故这时更简便的方法就是头文件。
2.举例
(1) 函数的声明调用
这是独立建立函数并且在主函数中进行函数的调用,由代码可见,当我们使用所需的函数时,我们需要对函数进行声明,这样才可以保证编译正确,运行成功。
(2)建立头文件
由上可见,当我们在头文件进行函数的声明后,系统会将其作为预编译命令在执行程序前就已经处理,这样我们在函数体中进行函数的调用时,不需要进行函数的声明,从而编译可以成功。
3.分析 #pragma once
#pragma once
/* 作用是监督这个头文件,阻止单个头文件多次被包含,并转换为单个翻译单元
* 我们需要知道include的作用是复制粘贴头文件到我们需要的c++文件中
* 如果一个头文件被包含多次,这样就会出现错误
*我们可以用结构体来演示这一错误,因为结构体的命名必须是唯一的
*/
首先我们先通过 // 将#pragma once 注释掉,再创建一个结构体Player,
如此以来,便会出现编译错误,因为Player出现了两次,可能大家会认为一般情况下我们不会刻意重复两次头文件,但是如果一个头文件的函数声明是包含在另外一个头文件中,也会出现编译错误。所以#pragma once 的作用就显得尤为重要了。