gpt4 book ai didi

c++ - 为什么要在 C++11 中添加 std::isblank?

转载 作者:可可西里 更新时间:2023-11-01 15:40:13 26 4
gpt4 key购买 nike

我注意到添加了 std::isblank (在 <locale> 中)和 std::isblank (在 <cctype> 中)在 C++11 中。我找到了这个 page上面写着Returns true if c is a blank character; that is, a space or a tab. (对于“C”语言环境),因此空白字符可能是空白字符的子集,但是我不明白区分的原因,因为我们有 std::isspace .为什么是std::isblank添加到标准库?

更新根据here , 看起来 POSIX 规范首先引入了“空白”字符类,然后 C 和 C++ 标准也跟进了。

最佳答案

possibly a blank character is a subset of a whitespace character

绝对是一个子集。 C99 7.4.1.3/2 说,“一个标准的空白字符或者是一个isspace 为 true 的特定于语言环境的字符集”。

它继续我认为的动机:“那是用来在一行文本中分隔单词”。

isspace对于某些用于分隔文本行中的单词的字符,返回 true。主要是换行符。

显然这是指 isspaceisblank<cctype> ,而不是 <locale> 中的那个正如您所问,但我认为这没有任何区别。我不认为标准真的明确了,但两者指的是相同的“字符类型”列表。

关于c++ - 为什么要在 C++11 中添加 std::isblank?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com