我在Taking an index out of const char* argument上问了另外一个问题,但辩论只涉及第一个问题,所以我把它分成了另一个问题。
问题:
有没有理由有人想要将C字符串表示为 const char * 而不是 const unsigned char * ?
谢谢,
答案 0 :(得分:4)
是的,当然一般的只读字符串应该是const char *
,因为char
(具有未指定的实现指定的签名)是字符的默认类型。
换句话说,像"foo"
这样的文字由char
而不是unsigned char
元素组成。
当然,如果您愿意,可以将字符解释为无符号,但是您可能需要演员。