1

刚开始上入门C++课程。我有一个如下查询。

标记值的数据类型始终是boolean? 对或错?

4

3 回答 3

2

让我们看一个在标准中找到的哨兵值的例子:

空终止字节串或 NTBS 是一个字符序列,其具有已定义内容的最高地址元素的值为零(终止空字符);序列中没有其他元素的值为零。

但是这个字符序列是什么类型(以及结束它的值零)?

字符序列是一个数组对象A,可以声明为T A [N],其中是、 或T的任何类型char,可选地由or的任意组合限定。unsigned charsigned charconstvolatile

于 2013-09-03T06:23:36.157 回答
0

哨兵值不一定是布尔类型,它取决于您的程序逻辑来确定什么应该是最佳哨兵值/数据类型。

在此处查看一些示例:-

http://www.mikeware.us/cpp/?p=20

于 2013-09-03T06:24:16.303 回答
0

来自维基

以下是一些常见标记值及其用途的示例:

  • 用于指示以空字符结尾的字符串结尾的空字符
  • 用于指示链表结束的空指针
  • 一个负整数,用于指示非负整数序列的结束
  • 文件结尾,某些输入例程返回的非字符值,表示文件中没有其他字符可用
  • High Values,商业编程中使用的十六进制 0xFF 的关键值

所以这一切都取决于你如何定义“哨兵”

于 2013-09-03T06:26:14.253 回答