作用域,生命周期
命名空间的三种使用方法
1: using namespace std;
cout <<
2: std::cout<<
3: using std::cout;
cout<<
全局变量和局部变量的引用
extern int someInt;
明白definition 和 declearation 两者的区别。
变量的定义(definition):创建变量,即在内存中分配一块空间作为该变量。
int someInt ; //definition
变量的声明(declaration):不创建变量,它只是声明该变量是在别处定义的全局变量,从而扩展了该变量的作用域。
extern int someInt ; //declaration
int someInt = 3; //变量的定义
extern是C++的保留字,它表示
其后所声明的变量是在其它地方
定义的全局变量,然后在这声明语句后,可以引用该变量。
静态全局变量,表示不能被外界所引用。
静态局部变量,意思是只初始化一次,被分配内存一次。
全局变量是静态变量(无论有没有加static)
定义全局变量时加static,是限制它不会被别的文件引用。
对于全局变量,static不是生命期的问题,而是作用域的问题。
在声明变量的同时对其赋值,称为初始化。
函数参数传递
分为两种,按值传递,按引用传递
概念:参数列表,函数签名,函数返回值,函数原型
double order(int x);
一定要用引用传递的是:流fstream等涉及到IO的。
void OpenForInput( ifstream& );
int main()
{
ifstream store1;
OpenForInput(store1);
if ( !store1 )
return 1;
:
}
void OpenForInput( ifstream& someFile )
{
string fileName;
:
someFile.open(fileName.c_str());
}