我正在挑战构建一个适合 1.44MB 软盘的 C++ 文本冒险游戏。 我使用 ASCII 艺术来制作章节图像。 每个 ASCII 艺术图像由 40 个“cout”行组成,行中包含 78 个字符来形成图像。
例如:
cout << "#############################################################################" << endl;
根据我的理解,“cout”将内容定义为“const char”。
经过一些研究,我了解到 char 数据类型是 1 个字节,但我找不到“const char”大小的可靠答案。
如果我对数据大小的理解正确的话,一张 ASCII 图像的数学应该是 78(字符)* 40(行)才能获得 3120 字节或 3.12KB。
我不确定字符本身是否影响大小以及添加“const”是否会增加数据大小。
根据我的理解,“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。