【发布时间】:2018-03-14 09:43:11
【问题描述】:
我正在学习 C++,遇到了this 数据类型链接。在第一个表中,即使在有符号和无符号整数类别下也列出了字符类型:
字符类型 char 大小正好是一个字节。至少 8 位。
整数类型(有符号) signed char 与 char 大小相同。至少 8 位。
整数类型(无符号) unsigned char(与其有符号对应的大小相同)
这是什么意思?这是否意味着我们可以使用 char 类型来代替 8 位整数,就像我们通常在 C 中对 8 位数据所做的那样? 例如,下面的代码即使在 C 中也是合法的。
unsigned char index;
int ar1[]={4,5,6,7,8};
for(index=0;index<5;index++)
cout<<ar1[index]<<"\n";
cppreference 没有在整数类别下列出 char。
其次,上述使用 unsigned char 作为索引的方法在 C++ 中是否安全?我们是要在这种用法中节省内存还是不会节省任何东西?或者如果我们使用 char 类型会有任何性能问题吗?
【问题讨论】:
-
cppreference 不是标准化实体,尽管顾名思义,它肯定不是参考。
-
@Jean-BaptisteYunès 然而这是迄今为止我们最好的。
-
您可以使用任何 c++ 标准草案,在网络上高度可用。 @liliscent 链接是完美的。
-
@Rajesh 更喜欢cppreference.com。
标签: c++