c++ - 与对所有人使用相同的 typedef 字符串相比,在 C 中指定不同的 typedef 字符串长度是否会减少内存使用?
问题描述
例如,如果我有 C 或 C++ 代码,我使用 typedef 创建不同类型的字符串,如下所示:
typedef char shortString[20];
typedef char longString[50];
typedef char veryLongString[100];
这样做实际上消耗的内存是否比我为所有这样的字符串变量只有一个 typedef 字符串?
typedef char string[100];
解决方案
Atypedef
不会影响程序的内存。它是一个编译工具。
您可以使用常量来代替数组大小:
const unsigned int COMMON_BUFFER_LENGTH = 64U;
char my_text_buffer[COMMON_BUFFER_LENGTH];
一个更简单的方法是使用std::string
. 该std::string
类型为您管理内存,不需要终止 nul 字符。
推荐阅读
- qt - Qt代码编辑器中断点的实现
- spring - 使用 Spring Boot 2 和 Web Security 5 授权请求 getToken JWT
- r - 过滤数据然后使用nest()迭代模型
- c# - 基于当前 SQL Server 架构创建迁移
- spring-boot - 在 RabbitMQ 服务器不可达时执行代码
- javascript - 捕获消息后的 Raven JS 回调
- asp.net-mvc - 如何在MVC的视图中保留搜索到的数据
- javascript - 如何从我网站的任何地方调用 jquery-cookie?
- ionic-framework - platform.registerBackButtonAction 的 Ionic 4 替代方案
- mysql - 广泛层次结构的数据结构