C++ 知识点笔记

c++ int类型默认值

在全局域中声明的变量会自动初始化为0

如果变量是在局部域中定义的,则系统不会向它提供回初始值0,这些对象被认为是未初始化,其值随机(有的编译器可能答会为你初始化为0,但千万别依赖于这种可能行为,因为它会给你的程序带来未定义的行为)

局部变量和全局变量

局部变量:在一个函数内部定义的变量就是局部变量。
作用范围:只局限在定义它的本函数体之内,即只有在该函数体内才能使用该变量,而在此函数之外是不能使用它们的。由于在不同函数体内定义的变量只在它所在的函数体内部有效,所以,不同函数体中可以定义相同名字的变量,但它们代表不同的对象,互不干扰。它们在内存中占用不同的内存单元。函数的形参也度是该函数的局部变量,其他函数不能调用。

全局变量:一个源程序文回件可以包含一个或若干个函数。在所有函数体外部定义的变量为全局变量(或外部变量),全局变量可以被本文件中其他所有的函数调用(使用)。有效作答用范围:从定义该变量的位置开始到本程序文件的结束。***在同一个文件中,若全局变量和局部变量同名,则在局部变量的作用范围内,全局变量不起作用。

C++中的auto

C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。
auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。

你可能感兴趣的:(C++ 知识点笔记)