SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
C++:非成员函数和静态成员函数之间的区别? [重复]
问题描述
投票:0
回答:3
简单的问题:静态成员函数(即不需要对象访问它(只需使用类标识符)即可调用的函数)和非成员函数有什么区别?在这里,我从概念上和功能上问。
非成员函数在概念上是静态的吗?
c++
static-members
non-member-functions
3个回答
8
投票
静态成员函数可以访问类的私有部分和受保护部分。默认情况下,非成员函数无法执行此操作。只有班级给予他们友谊,他们才能做到这一点。
需要考虑的另一点是静态成员函数的名称在类的范围内。多个类可以具有同名的静态成员函数,而不必担心名称冲突。
1
投票
我想附加
@R Sahu
的答案,重载运算符可能不是类的静态函数。:)
静态函数本身也可以被保护和私有。因此,它们在声明它们的类或其派生类之外是无法访问的。
0
投票
静态成员函数的另一个优点是,如果你想在 Windows API 的线程中调用它,这是唯一的方法。 CreateThread 要求函数位于全局空间中,或者如果它是成员函数,则它必须是静态的。至少据我所知,没有办法解决这个问题。
最新问题
以 Python YYYYMM 格式创建年月列
从List.map()获取迭代索引
Xcode 构建错误“选项‘-p, --packages <packages...>’参数缺失”
错误:未找到具有指定模式的包
Git:在频繁移动的基础上维护许多主题分支
QML 将信号从主组件连接到子组件
需要解释 MarkLogic 的搜索:建议功能如何工作
自动刷新访问令牌?
如何在Java中忽略对等证书过期?
FastAPI 后台任务不适用于 Azure 函数应用程序
如何设置来自 Azure Function API 的响应流,该 API 旨在利用 Azure OpenAI
在 VSCode 中双击最大化窗口
java swing 中的 setBounds 未按预期工作
Spring 文档生成 OpenAPI 规范验证
是否有一种人道的方式来创建包含seaborn lmplot和residplot并排的pyplot图?
移动应用的验证码流程
如何将背景图片放在窗口的最顶部?
使用 SailsJS 连接 PostgreSQL 中的会话
如何从网络服务器连接到Android设备?
Nuxt 3.众所周知的路线
© www.soinside.com 2019 - 2024. All rights reserved.