news 2026/7/14 5:08:48

static关键字的四种用法:面试官问“static有几种用法”,90%的人答不全

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
static关键字的四种用法:面试官问“static有几种用法”,90%的人答不全

上篇聊了const的各种用法,有人后台说想看static。

来了。static是C++里另一个"看着简单,考起来要命"的关键字。

面试的时候,面试官经常问:"static有哪些用法?"

大部分人能说出两三种:静态变量、静态成员函数。但你要问他"还有呢?",很多人就卡住了。

其实static在C++里有四种用法,每种的作用完全不同。今天一次讲清楚。

第一种:静态局部变量

函数里的局部变量加上static,它的生命周期就变成了整个程序运行期间。

void countCalls() { static int count = 0; // 只初始化一次 count++; cout << "调用次数: " << count << endl; } countCalls(); // 输出: 调用次数: 1 countCalls(); // 输出: 调用次数: 2 countCalls(); // 输出: 调用次数: 3

普通局部变量每次函数调用都会重新创建,但static局部变量只初始化一次,之后每次调用都保留上次的值。

在机器人开发里,这种用法常见于计数器、状态标记。比如统计某个函数被调用了多少次,或者标记某个初始化操作是否已经执行过。

要注意一点:static局部变量的初始化是线程不安全的。C++11之后,标准保证了static局部变量的初始化是线程安全的(Magic Statics),但老代码或者老编译器不一定有这个保证。

在机器人开发里,static局部变量还有个经典用法——Meyers单例模式:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 5:07:43

类与对象:面试官让我用机器人传感器解释封装,我讲了五分钟

上篇聊了static的四种用法,今天进入面向对象的世界。 类与对象,是C++最核心的特性,没有之一。面试的时候,几乎每一轮都会涉及到。 讲个真实的面试场景。 去年面试一个应届生,简历上写着"熟悉面向对象编程"。我问:"什么是类?什么是对象?" 他说:…

作者头像 李华
网站建设 2026/7/14 5:06:11

01 Java 程序员为什么要聊 AIGC?现在面试到底卷成什么样了

摘要&#xff1a;本文从Java后端工程师的视角&#xff0c;深入浅出地解释了AIGC和RAG的核心概念&#xff0c;通过生动的比喻让读者快速理解这些技术。文章分析了为什么AIGC/RAG成为Java面试新热点&#xff0c;并提供了从入门到进阶的面试准备路线图&#xff0c;最后给出了面试官…

作者头像 李华
网站建设 2026/7/14 5:05:46

Unity DOTS避坑指南:从OOP思维到ECS高性能开发的实战解析

1. 项目概述&#xff1a;DOTS初学者的必经之路如果你刚开始接触Unity的DOTS&#xff08;Data-Oriented Technology Stack&#xff09;&#xff0c;感觉一头雾水&#xff0c;甚至被那些“实体”、“组件”、“系统”绕得晕头转向&#xff0c;别担心&#xff0c;这太正常了。我刚…

作者头像 李华
网站建设 2026/7/14 5:03:37

SVG 与 Canvas 在前端开发中的区别与应用场景详解

1. 引言在前端开发中&#xff0c;图形渲染是构建丰富交互体验的核心能力之一。HTML5 引入了两种强大的图形技术&#xff1a;SVG&#xff08;可缩放矢量图形&#xff09;和Canvas&#xff08;画布&#xff09;。虽然它们都用于在浏览器中绘制图形&#xff0c;但两者的设计理念、…

作者头像 李华
网站建设 2026/7/14 5:03:00

C++ CSV解析库RapidCSV:单文件集成与高性能数据处理实践

1. 项目概述如果你在C项目里处理过CSV文件&#xff0c;大概率经历过自己手搓解析器的痛苦。要么是字符串分割遇到带引号的字段直接崩掉&#xff0c;要么是处理百万行数据时性能慢得像蜗牛&#xff0c;更别提各种编码和分隔符的兼容性问题了。我之前在一个金融数据分析的项目里&…

作者头像 李华
网站建设 2026/7/14 5:02:36

Pandas数据清洗速查手册:12个高频函数实战指南

1. 项目概述&#xff1a;一份真正能上手的Pandas速查手册&#xff0c;不是贴在墙上的装饰画我从2015年开始用Pandas处理金融数据&#xff0c;到后来带团队做用户行为分析、电商漏斗建模&#xff0c;再到最近帮朋友公司搭BI底层数据管道——十年间&#xff0c;我电脑里那个叫pan…

作者头像 李华