刚开始上入门C++
课程。我有一个如下查询。
标记值的数据类型始终是boolean
? 对或错?
让我们看一个在标准中找到的哨兵值的例子:
空终止字节串或 NTBS 是一个字符序列,其具有已定义内容的最高地址元素的值为零(终止空字符);序列中没有其他元素的值为零。
但是这个字符序列是什么类型(以及结束它的值零)?
字符序列是一个数组对象
A
,可以声明为T A [N]
,其中是、 或T
的任何类型char
,可选地由or的任意组合限定。unsigned char
signed char
const
volatile
来自维基
以下是一些常见标记值及其用途的示例:
- 用于指示以空字符结尾的字符串结尾的空字符
- 用于指示链表结束的空指针
- 一个负整数,用于指示非负整数序列的结束
- 文件结尾,某些输入例程返回的非字符值,表示文件中没有其他字符可用
- High Values,商业编程中使用的十六进制 0xFF 的关键值
所以这一切都取决于你如何定义“哨兵”