C++面试基础之static关键字详解-创新互联

前言

创新互联公司是一家专注网站建设、网络营销策划、微信小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十年以来,已经为近1000家成都酒楼设计各业的企业公司提供互联网服务。现在,服务的近1000家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

static是 c++ 的关键字,顾名思义是表示静态的含义。它在 c++ 中既可以修饰变量也可以修饰函数。那当我们使用 static 时,编译器究竟做了哪些事情呢?

早先面试中被问到 static 关键字,感觉既熟悉又陌生。熟悉是都知道如何去使用它,陌生又来自不知道它究竟对我们程序做了什么。今天就来好好复习下这个关键字,本文的重点也在第三部分。

先看一下示例代码:

test1.cpp

#include 
extern int a_int;
extern void func2();

static char c_array[10000];

void func1() {
 static int a_tmp = 0;
 std::cout << a_tmp++ << std::endl;
 return;
}

int main(int argc, char **argv) {
 a_int = 1;

 //静态局部变量示例
 for (auto i = 0; i < 5; i++) {
 func1();
 }

 //比较静态全局变量的地址示例
 std::cout << static_cast(c_array) << std::endl;
 func2();
 return 0;
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:C++面试基础之static关键字详解-创新互联
转载来源:http://myzitong.com/article/dgspcc.html