【C++中关键字static的作用】教程文章相关的互联网学习教程文章

C++中static关键字的作用【代码】

C++中的static关键字的作用总结 C++中的static的两种用法:一种是面向过程程序设计,第二种是面向对象程序设计。前者应用于普通变量和函数,不涉及类;后者涉及static在类中的作用。 1.面向过程设计中的static 1.1 静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1 #include <iostream.h> void fn(); static int n; //定义静态全局变量 voi...

C/C++ static 关键字【代码】

在 C/C++ 中,static 关键字使用恰当能够大大提高程序的模块化特性。static 在 C++ 类之中和在类之外的作用不一样,在C语言中的作用和在 C++ 类之外的作用相同,下面一一说明: 在类外的作用 1.变量 局部变量 局部变量即是在函数或一个代码块内部声明的变量。 当局部变量被定义时,系统不会对其初始化; 作用域为函数或一个代码块; 局部变量储存在栈里,离开作用域就会无效。 在局部变量前面加上关键字 static,该变量变为静态局部...

【C++】static【代码】

目录(一) static在面向过程中??1. 静态全局变量??2. 静态局部变量??3. 静态函数(二) static在面向对象中??1. 静态数据成员??2. 静态成员函数 (一) static在面向过程中 ??1. 静态全局变量 ??在全局变量前加一个static即为静态全局变量。注意:1.该变量在**全局数据区**分配内存; 2.未初始化的静态全局变量会被程序**自动初始化为0**(自动变量的值是随机的,除非它被显式初始化); 3.静态全局变量在声明它的**这个文件都可见...

static在C/C++中的作用

static:静态!!在C/C++中共有的特点是1.static修饰全局变量:表明这个全局变量只在同一文件中函数可见。2.static修饰局部变量:表明这个局部变量的值不会因为函数的结束而丢失。3.static修饰函数:表明该函数只能在同一文件中调用,那么在其他文件中不可以调用静态成员函数故当函数名相同时也就不会发生冲突。C++中特有特性:1.修饰类的成员变量:说明这个成员变量归所有由这个类创建的对象所有,即共有的对象,修改其值将会“一...

static在C/C++中的作用

static:静态!!在C/C++中共有的特点是1.static修饰全局变量:表明这个全局变量只在同一文件中函数可见。2.static修饰局部变量:表明这个局部变量的值不会因为函数的结束而丢失。3.static修饰函数:表明该函数只能在同一文件中调用,那么在其他文件中不可以调用静态成员函数故当函数名相同时也就不会发生冲突。C++中特有特性:1.修饰类的成员变量:说明这个成员变量归所有由这个类创建的对象所有,即共有的对象,修改其值将会“一...

C++的四种转换(const_cast、static_cast、dynamic_cast、reinterpreter_cast)

static_cast 相当于C语言中的强制转换:(类型)表达式或类型(表达式),用于各种隐式转换 非const转const、void*转指针、int和char相互转换 用于基类和子类之间的指针和引用转换,非指针直接报错 向上转化是安全的,如果向下转能(指针或引用)成功但是不安全,结果未知; dynamic_cast 用于动态类型转换。只能用于含有虚函数的类,必须用在多态体系种,用于类层次间的向上和向下转化。只能转指针或引用。向下转化时,如果是非法的对于指...

C++中 auto,static,register,extern的作用【代码】

C++中 auto,static,register,extern的作用 auto、static、register、extern这四种都是用来变量存储说明的关键字,其作用格式为:存储说明符 变量类型 变量名称 = 变量初始值 在开始讨论这四种说明符的作用之前,有必要讲解一下局部变量(Local variables)和全局变量(Global variables)的定义 程序是由若干模块构成,模块之间独立工作互不干涉,局部变量一般定义在函数内部(包括main函数),岁函数执行完毕变量也随之销毁,而...

C++ static类成员,static类成员函数 【转载】【代码】

转载:ZJE_ANDY static修饰类中成员,表示类的共享数据 1.static类成员 C++primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处在。static类数据成员是与类关联的, 但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一个static类成员的。 例如A类对象修改了static成员为1,那么B对象对应的static类对象成员的值也会是1。 注意:stati...

【c++】static, const 修饰

一、static修饰类的成员 static特点: static数据存储在数据段, 生命周期最长--进程开始到结束, 数据只分配一次空间(初始化一次) 1.初始化一次 2.文件作用域 3.数据存在数据段,只分配一次空间 1.修饰成员变量 a. 静态成员数据空间不包含在对象空间里 b. 在类外初始化 //初始化静态成员变量 int Data::number = 0; //初始化---分配内存空间 c. 静态成员变量是先于类对象存在,如果数据是公有的,可以通过类名直接访问 d. 静态成...

C++ static、const和static const类型成员变量声明以及初始化【代码】

C++ static、const和static const 以及它们的初始化 const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。 static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。 在C++中,static静态成员变...

标准c++的类型转换符:static_cast 、dynamic_cast、 reindivter_cast、 const_cast【图】

c语言中我们经常使用类似于 int a =(int)3.14等这种强制类型转换 标准c++的类型转换符:static_cast 、dynamic_cast、 reindivter_cast、 const_cast, 以下分别介绍他们的用法以及举例说明 以下代码编译运行环境:codeblock with gcc in win7(x64) 【1】static_cast 用法:static_cast < type-id > ( exdivssion ) 该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ...

c++ static【代码】

? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的...

C++ static extern const【代码】

1.static。 不同的cpp文件中可以定义同名的static变量。如:static int kk = 3; 这样不会造成重定义的问题,因为static作用范围是单个编译单元。每个编译单元会开辟独立的空间来存储kk变量。并且无法用extern在其它cpp文件中使用。 2.extern extern与static不能一起使用,其作用范围是工程的全局范围。如果在多个cpp中重复定义了同名extern变量,就会出现重定义问题。比如:int kk = 3,extern int kk = 3。 3.const const的作用范...

C++ static用法总结【代码】

1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。//a.c char a = A; // global variable void msg() {printf("Hello\n"); }//main.cint main() {extern char a; // extern variable must be declared before useprintf("%c ", a);(void)msg();return 0; }程...

C++中static和const关键字的作用

static 1.static声明的变量内存只被分配一次。auto变量(局部变量)在栈内存区堆放,static变量存放于数据区,程序结束才会释放。 2.模块内声明的static全局变量,可以被该模块所有函数访问,不可被模块外函数访问。 3.模块内声明的static函数,可以被该模块所以函数调用,不可被模块外函数调用。 4.在类中static成员函数不接受this指针,只能访问static成员变量。 5.static成员变量对所有对象的拷贝只有一份。 6.static成员函数不能...

STATIC - 相关标签