6.1.2 由实现定义的行为 这是一种可以随着不同的实现而变化的行为,但实现者需要在文档中说明细节。前面见过这方面的一个例子:int对象使用的内存量与char对象使用的内存量的比率是由实现定义的。换句话说
所产生的结果是由实现定义的。 由实现定义的行为的另一个例子是,char的行为是和带符号的小整数(即signed char)一样,还是和不带符号的小整数(unsigned char)一样。许多编译器允许程序员决定char具有哪种行为。 用手头的编译器和IDE尝试如下代码,探索你正在使用的配置提供哪种形式的char。
我没有为异常处理而费心,因为这是个极小的一次性程序。究竟如何以-1初始化c,有 赖于char被视为带符号的还是无符号的整型。如果char是带符号的类型,那么-1就被当作-1 存储(系统究竟以何种方式表示负一,依赖于带符号整数是用补码、反码还是原码表示)。 如果char被视为无符号的类型,则-1将位于char的最大有效值附近。注意,对于char的任何 无符号表示法而言,最大的可能值毫无疑问大于200。
【责任编辑: 雪花 TEL:(010)68476606-8007】
|