C++ Const Char 数据大小混乱

问题描述 投票:0回答:1

我正在挑战构建一个适合 1.44MB 软盘的 C++ 文本冒险游戏。 我使用 ASCII 艺术来制作章节图像。 每个 ASCII 艺术图像由 40 个“cout”行组成,行中包含 78 个字符来形成图像。

例如:

cout << "#############################################################################" << endl;

根据我的理解,“cout”将内容定义为“const char”。

经过一些研究,我了解到 char 数据类型是 1 个字节,但我找不到“const char”大小的可靠答案。

如果我对数据大小的理解正确的话,一张 ASCII 图像的数学应该是 78(字符)* 40(行)才能获得 3120 字节或 3.12KB。

我不确定字符本身是否影响大小以及添加“const”是否会增加数据大小。

c++ size
1个回答
0
投票

根据我的理解,“cout”将内容定义为“const char”。

事实并非如此。

std::cout
是一个
std::ostream
,其中有许多
operator<<
重载,其中一个是:

std::ostream& operator<<(std::ostream& os, const char* s);

我知道 char 数据类型是 1 个字节,但我找不到“const char”大小的可靠答案

const
度不影响尺寸。
const char
的大小与非
const
char
的大小相同 - 并且大小定义为 1。

3120 字节或 3.12KB

78*40 等于 3120,这是正确的,但 3120 字节不是 3.12 KB。

KB
KiB
的旧写法,即千二进制。 3120 是 3.0468750000 KiB 或 3.12 kB。

© www.soinside.com 2019 - 2024. All rights reserved.