类定义如何才能不占用内存呢?

2023-12-02

所以我读过this关于类定义是否占用内存以及this关于if函数占用内存。这是我不明白的:如果函数占用内存,或者它们的代码占用内存,类定义为什么不占用内存。我的意思是,类定义也是代码,所以它不应该像函数代码一样占用内存吗?


说类定义不占用内存并不完全正确:任何具有成员函数的类都可能在内存中放置一些代码,尽管代码量及其实际放置在很大程度上取决于函数内联。

第一个链接的问答讨论了sizeof,它显示了类的每个实例的内存需求,其中不包括存储成员函数、静态成员、内联函数、调度表等的内存需求。这是因为所有这些元素都是shared在该类的所有实例中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类定义如何才能不占用内存呢? 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 组织原型 javascript,同时保留对象引用和继承

    我使用 JavaScript 原型和继承构建了一个大型应用程序 但我很难组织我的代码 例如 我有一个类轮播 它有很多这样的功能 Carousel prototype next function Carousel prototype prev
  • JSON.NET 反序列化 - 单个结果与数组

    我在尝试确定如何使我的序列化能够正确访问单个结果以及数组时遇到困难 当我进行 REST 调用在服务器上查找某些内容时 有时它会返回模型数组 但如果搜索结果只有一个模型 则不会作为错误返回 这是当我收到无法反序列化的异常时 因为对象属性需要一
  • char 类型乘以另一个 char

    C C 中两个字符相乘的结果是什么类型 unsigned char a 70 unsigned char b 58 cout lt lt a b lt lt endl prints 4060 means no overflow cout l
  • 查找字符串中重复字符的最长子串

    这是基础这个代码强制问题 我尽量不寻求有关 codeforces 问题的帮助 除非我真的真的陷入困境 而现在恰好就是这样 Your first mission is to find the password of the Martian d
  • glCopyTexImage2D 作为 glReadPixels (OpenGL ES) 的替代品

    我目前正在使用 OpenGL ES 游戏的屏幕截图glReadPixels 屏幕截图很棒 但是调用glReadPixels导致游戏中出现轻微卡顿 glCopyTexImage2D已被建议作为更有效的替代品glReadPixels 如何glC
  • 如何获取QTableView右键索引

    下面的代码创建一个带有QTableView看法 左键单击onLeftClick函数获取 QModelIndexindex 该 QModelIndex 稍后用于打印左键单击单元格的行号和列号 如何获得QModelIndex右键单击的单元格的索
  • ffmpeg:编辑元数据并自动增加其名称+根据“名称”设置“标题”的值

    此 PowerShell 代码分割了一个大的音频文件 sound1 在 5 分钟内将它们保存为sound100 1 mp3 sound1 002 mp3 ffmpeg i file name complete f segment segme
  • 从 Bool 数组返回索引值数组,其中 true

    任何人都知道一种从值为 true 的布尔数组返回索引值数组的优雅方法 例如 let boolArray true true false true 这应该返回 0 1 3 let boolArray true true false true
  • 带图像的 Foreach 循环

    我有一个 80 PNG 图像序列 我试图在其中为我的 Windows 应用程序创建动画 文件路径是 Assets Star 我试图弄清楚如何为文件夹中的每个图像创建 foreach 循环 因此它将图像对象设置为 Image1 然后在计时器经
  • 为什么我的 div 的边距会受到其内部内容/块的影响?

    我有以下内容 div p some content p div or div some content div 没有 p some content p div的定位不同 看起来 div 内的块内容正在影响 div 的外 顶部 边距 那么di
  • 将 Pandas 数据框放入现有 Excel 工作表

    有没有办法将数据框放入现有的 Excel 工作表中 我有一个数据框 需要将其复制到特定的 Excel 工作表中的特定位置 单元格 A2 这样它将镜像 粘贴 整个数据框 从选定的单元格 如图所示 开始 包括下面的单元格 这样我就不必一一为特定
  • 哪里可以获得 Eclipse 的 ADT 18?

    我的 eclipse 将 ADT 更新为 20 我认为这很糟糕 我想恢复到 18 但找不到从哪里下载 In here https dl ssl google com android eclipse 它仅提供版本 20 Thanks 下载此文
  • 使用 CSS,如何创建*粗*超过 1 像素的文本描边轮廓?

    下面是我用来制作 1px 文本描边轮廓的代码 但是如何使轮廓变粗呢 如果我只是将所有 1px 替换为 5px 结果看起来很疯狂 HTML div class element Hello div CSS element color white
  • 如何利用HTTP header XSS漏洞?

    假设一个页面只是打印 HTTP referer 标头的值 没有转义 因此 该页面容易受到 XSS 攻击 即攻击者可以使用包含类似内容的引用标头来制作 GET 请求 但如何才能真正使用它来攻击目标呢 攻击者如何使用该特定标头向目标发出特定请求
  • 为类型别名元组添加 Impl (f64, f64)

    我有一个自定义类型 Point type Point f64 f64 我想添加两个Point在一起 但我收到此错误 error E0368 binary assignment operation cannot be applied to t
  • 后续:从 lme4 中的 VarCorr 对象中提取名称并将其粘贴为列名称

    我正在跟进这个很好的答案 功能foo下面 取Name的列VarCorr fit 输出并使它们成为列名summary rePCA fit call 当我们输入时效果很好fm1 fm2 但我想知道为什么它失败了fm3 有解决办法吗 librar
  • 我有 recyclerview 和 searchview 如何发送有关我搜索的项目的详细信息数据

    我有带有 searchview 的 recyclerview 并且在 recyclerview 中选择项目时发送详细数据 问题是当我搜索项目并选择它时 详细信息数据不会更改总是出现第一个项目的详细信息数据 我如何发送有关我搜索的项目的详细数
  • 如何使实体只读?

    使用 JPA 使实体只读的正确方法是什么 我希望我的数据库表永远不会以编程方式修改 我想我明白我应该用以下方式锁定我的对象LockModeType READ 是否可以使用注释使我的实体在从数据库检索后直接锁定 或者我是否必须为该特定实体搞乱
  • 在查询结束之前开始查看查询结果

    假设我查询一个包含 500K 行的表 我想开始查看获取缓冲区中保存结果集的任何行 即使查询尚未完成 我想滚动浏览提取缓冲区 如果我滚动得太远 我想显示一条消息 例如 到达获取缓冲区的最后一行 查询尚未完成 当查询继续构建结果集时 可以使用
  • 类定义如何才能不占用内存呢?

    所以我读过this关于类定义是否占用内存以及this关于if函数占用内存 这是我不明白的 如果函数占用内存 或者它们的代码占用内存 类定义为什么不占用内存 我的意思是 类定义也是代码 所以它不应该像函数代码一样占用内存吗 说类定义不占用内存