说说char!=signed char!=unsigned char吧

cxjddd cxjddd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
由于前面有人说如何比较两种类型是不是一样的。受Modern C++ Design的影响(算是抄吧),写了出来,却由于找不到原来的帖子没有发表^_^
template <typename T, typename U>
struct SameType
{
static const bool isSame = false;
};

template <typename T>
struct SameType<T, T>
{
static const bool isSame = true;
};
  然后我就去测试了。当测试到string和basic_string <char>时,我试着把basic_string <char>换成basic_string <unsigned char>和signed char,居然发现,只有char是真!其它两个都是假!也就是说char既不与signed char一样,也不与unsigned char一样。
  但是,我记得是char和另外两个中的一种是一样的啊!于是我就从Dev-C++里换到BCC5.5里去测试,结果还是一样。(VC7搞不定命令行下的CL,就没有测了)
  然后,我去翻TCPL,终于知道是这样的:三种char类型不同,但char要么与signed char行为相同,要么与unsigned char行为相同。
...全文
评论 4
收藏 已收藏
分享
返回顶部
cxjddd
C语言 70,039 成员 243,237 内容