1

char没有空文字有什么具体原因吗?

最接近我的想法的'''\0'空字符。

inC++charan 表示int,这意味着空 char 直接转为 0 整数值,在 C++ 中“与 null 相同”。

提出这个问题的实际部分:

在一个类中,我想将 char 值表示为枚举属性。我不偏不倚地尝试用 初始化一个实例'',这当然行不通。但是不应该有一个char空值吗?不要混淆string.Empty,更多的是在性质上null reference

所以问题是:为什么没有空字符?

-编辑-

看到这个问题,问题可以得到加强:一个空的 char 值可以在不破坏字符串的情况下连接字符串和字符。那不是更可取吗?还是应该“按预期工作”?

4

2 回答 2

5

根据定义,Achar的长度为一个字符。空的根本不符合要求。

不要在最大长度为 1 的 achar和 a之间混淆string。它们看起来确实很相似,但是却是非常不同的野兽。

于 2013-07-16T19:10:03.937 回答
2

做一个稍微技术性的解释:在执行连接时,没有字符可以作为标识元素。这与整数不同,整数0用作加法的标识元素。

于 2013-07-16T19:13:00.227 回答