前言
static是 c++ 的关键字,顾名思义是表示静态的含义。它在 c++ 中既可以修饰变量也可以修饰函数。那当我们使用 static 时,编译器究竟做了哪些事情呢?
早先面试中被问到 static 关键字,感觉既熟悉又陌生。熟悉是都知道如何去使用它,陌生又来自不知道它究竟对我们程序做了什么。今天就来好好复习下这个关键字,本文的重点也在第三部分。
先看一下示例代码:
test1.cpp
#include <iostream> 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<const void *>(c_array) << std::endl; func2(); return 0; }
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:C++面试基础之static关键字详解-创新互联
转载注明:https://www.cdcxhl.com/article22/dgspcc.html
成都网站建设公司_创新互联,为您提供网站收录、动态网站、微信小程序、外贸网站建设、App设计、网站内链
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联