c++ - C++:类的全局实例与命名空间:RAM 使用情况?
问题描述
我在一个非常受 RAM 和程序限制的空间中工作。我有一小部分相关变量和函数,我想以某种有意义的方式将它们组合在一起。该集合将对程序的其余部分可见。
我的第一个冲动(实际上是实现)是创建一个类来将所有这些信息组合在一起,然后创建该类的一个全局实例。我知道这是一个人应该这样做的方式。但是,还有另一种方法可以使用命名空间来执行此操作,它不需要实例化。
我的问题归结为:命名空间方法是否使用更少的 RAM?我想我的意思是,类的实例化是否会导致额外的 RAM 使用或其他类型的开销?或者它是否以不同的方式使用 RAM,例如实例化可能导致所有变量都存在于堆中而不是某个专用地址中?
解决方案
添加命名空间并不会真正影响程序运行时的任何部分。这只是编译器查找相关名称的一种方式,因此它不应该消耗任何额外的 RAM。每个类实例化都会使用 RAM 来存储其成员变量,但考虑到这些变量仍然存在于命名空间示例中,它不会有任何不同。
如果您愿意,可以编写这两种方法并对其进行概要分析,但我怀疑这两种方法都会对您的程序产生任何重大影响(例如超过几个字节)。
推荐阅读
- javascript - 如果数据是视频文件,如何在 mongoose 中指定我的数据类型?
- python - 使用python的nums和mods,简单的问题
- mysql - put order by in right place mysql
- email - Gmail:此邮件似乎很危险
- minecraft - Minecraft 命令方块目标选择器能否在特定的 1 方块位置搜索玩家?
- python - 使用 FMPy 模拟 OpenModelica 示例时出错
- c++ - 比较 C++ 中的 char 数组
- javascript - 用户角色层次结构
- javascript - 收到以下错误(TypeError: undefined is not an object (Evaluating 'props.route.params.contactId))
- c# - 绑定受其他属性影响的 DataContext 值