从阅读中读取“char”比阅读“单词”更快吗?

时间:2014-05-23 03:57:56

标签: c++ memory-management

The memory subsystem on a modern processor is restricted to accessing memory at the granularity and alignment of it's word size

那么我可以假设从内存中读取一个字符应该与读取一个字(4个字节)一样快吗?

如果答案为是,那么为什么我们甚至在编码而不是char变量时使用word变量(除了明显的类型检查必要性)。

2 个答案:

答案 0 :(得分:0)

为什么我们使用char变量?避免浪费记忆。如果你需要4个变量,你可以将4个char放在一个单词中,但如果你将它们声明为int则需要4个单词。如果他们只需要保持较低的数字,那么所有额外的记忆都是不必要的。

答案 1 :(得分:0)

我可以立即想到的一个原因是我们只想要一个ASCII字符的字节。

const WORD* str = W"Hello World?";
               // ^ Some theoretical WORD-charactered string

鹤鹤。

因为每个字符只有一个字节,处理器只需要获取一个字符,比如4个字符。