1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它.倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值 2.静态局部变量只会初始化一次 3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式.即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量):静态变量的初始值为0. 4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量.虽然用全局变量也可以达到上述目的,但全局变量有时…
学习大神博客链接: http://www.cnblogs.com/zhili/category/421637.html 一 值类型与引用类型 需要注意的string 是特殊类型的引用类型. 使用方法: == 比较的是栈里面的值, 值类型比较值, 对象(除字符串)比较的是栈里面的地址. equal比较的是实际的值,是object里面的虚方法重写,重写时最好重写getHashCode()方法. 如下为代码例子 static void Main(string[] args) { ; ; Console…
局部变量(Local variables)与 全局变量: 在子程序或代码块中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序或代码块. 当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. 全局变量在程序开始运行期间就已经在内存中开辟了内存空间,直到程序结束才会释放这块内存空间. 全局变量要在其他文件中使用,需显示的声明这个变量,使用extern关键字声明(extern int…
C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域. 从作用域看: 全局变量具有全局作用域.全局变量只需在一个源文件中定义,就可以作用于所有的源文件.当然,其他不包括全局变量定义的源文件需要用extern关键字再次声明这个全局变量. 静态局部变量具有局部作用域.它只被初始化一次,自从第一次初始化直到程序结束都一直存在,即它的生命周期是程序运行就存在,程序结束就结束, 他和全局变量的区别在于全局变量对所有的函数都是…
一.关键点 对象的生命周期:程序执行过程中,该对象存在的那段时间 局部对象:形参.函数体内部定义的变量 二.自动对象 自动对象:只存在于块执行期间的对象 包括:局部变量.形参 三.局部静态对象 特点:该种局部变量的生命周期一直到程序终止 声明局部静态变量:在声明语句前加上static关键字 补充:内置类型的局部静态变量的默认初始值为0 [例子] #include <iostream> #include <vector> #include <cctype> #includ…
vs2017下测试 34: for (int i = 0; i < 5; i++) 0029734E C7 45 F8 00 00 00 00 mov dword ptr [ebp-8],0 00297355 EB 09 jmp main+30h (0297360h) 00297357 8B 45 F8 mov eax,dword ptr [ebp-8] 0029735A 83 C0 01 add eax,1 0029735D 89 45 F8 mov dword ptr [ebp-8],eax…
项目中静态和非静态常被用到,什么时候需要用静态的,什么时候需要使用非静态,以及他们的区别是什么? 一.概述 静态和非静态的不同地方,就是静态从程序一启动就会一直占用内存,而非静态只有在实例化的时候才会分配内存,每实例化一次对象都会重新分配一次内存.比如数据库连接类,因为经常使用到,所以使用Static,定义成静态类是最合适的.如果定义成非静态方法,每次调用的时候都会实例化,这样占用内存就会非常大.再比如登录后台的方法,只在登陆的时候调用一次登录方法,定义成非静态方法是比较合适的.总之就是经常被调…
1.静态成员函数.静态数据成员 在类中,用static修饰的成员函数被称为静态成员函数,而用static修饰的数据成员就称为静态数据成员:与普通的成员函数和数据成员不同, 静态成员函数和静态数据成员有自己独有的特点和用法,定义方法如下: class Tank{ public: static void func(void); // 声明静态成员函数 .......... private: static int m_iCount; // 声明静态数据成员 ....... } ; // 初始化静态数据…
1:我们把这些具有相同属性和相同方法的对象进行进一步的封装,抽象出来类这个概念. 类就是个模子,确定了对象应该具有的属性和方法. 对象是根据类创建出来的. 2:类:语法 [public] class 类名 { 字段; 属性; 方法; } 写好了一个类之后,我们需要创建这个类的对象,那么,我们管创建这个类的对象过程称之为类的实例化.使用关键字new 实例化类===创建类 this:表示当前这个类的对象. 类是不占内存的,而对象是占用内存的. 结构是面向过程的,类是面向对象的,之前没有面向对象的时候…
static 关键字,我们在开发用的还是比较多的.在<Java编程思想>有下面一段话 static 方法就是没有 this 的方法.在 static 方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用 static 方法.这实际上正是 static 方法的主要用途. static 的用法比较广泛:静态变量.静态成员.静态函数等.我们在使用单列模式的时候,就会用到它.并且 static 数据成员存储在静态存储区,只存储一次,可以节省内存. sta…