首页 > 代码库 > static extern const
static extern const
static
1.局部变量
// 该变量生命周期不仅仅是进入该函数后,而是整个程序运行期间 void foo() { static int nVar = 0; printf("var = %d\n", ++nVar); }
2.保护本地变量
static int g_nVar; // g_nVar只能在本文件中使用,其他文件不能通过extern访问该变量
3.静态成员变量
// 该变量不属于对象,而属于这个类 class Foo { public: static int nCount; }; int Foo::nCount = 0; int main() { cout << Foo::nCount << endl; return 0; }
4.静态成员函数
// 该函数不属于对象,而属于这个类 class Foo { public: static void ShowClassTag(); }; void Foo::ShowClassTag() { cout << "class Foo" << endl; } int main() { Foo::ShowClassTag(); return 0; }
const
1.定义常量
const int nItem = 0; const int* pnItem = &nItem;
2.保护变量不被外部使用
//file1.c const int g_nLocalVar = 100; int g_nVar = 100; //file2.c extern const int g_nLocalVar; // 非法声明 extern int g_nVar; // 合法
extern
1.声明所引用对象已被定义
extern int g_nFoo; int main() { g_nFoo++; cout << g_nFoo << endl; return 0; } int g_nFoo = 0;
2.声明该变量可被外部使用
// file1.c extern const int g_nItem; int main() { cout << g_nItem << endl; return 0; } // file2.c // 如果此处不加extern,该变量不能被外部访问的 extern const int g_nItem = 100;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。