感叹号有什么作用?

玉娅嘉玉娅嘉最佳答案最佳答案

在计算机科学中,感叹号(英文:'!')是一个用于表示多种不同含义符号。这些含义通常与程序的输入或输出有关——一个表达式被计算后,可能会产生一个“真”的结果、一个错误的结果或者什么也不做(像某些未定义的函数调用)。这些不同的结果可以用不同的信号量来表示。 于是乎,基于上面所讨论的内容,我们可以设计出这样的数据类型: 然后我们可以定义一些需要使用该类型的数据的函数: 接下来我们就可以测试这些函数了: 可以看到,当输入不合法的时候,我们的函数会返回一个错误码,而当输入合法但是计算结果出错时,函数也会返回对应的错误码;如果一切顺利的话,函数会返回对应的数据类型。这样我们就实现了通过信号量来表示各种错误的可能并返回给用户。而这一切都是基于感叹号来完成的所有操作。

虽然基于上面的例子我们能很好地利用感叹号来表示程序执行过程中的状态,但在实际的使用过程中我们并不会真的将所有的状态都映射到一个确定的字符串上。更可行的方法是对于每一种可能的状态(也就是每一种可能的错误)都创建一个新的对象,并返回该对象所指向的指针(或者在 C++ 中就是返回对应的引用)。这样就可以利用指针/引用的比较功能来判断当前的操作是否正确。

另外还需要注意的一点是在编程语言中有些语法规定了一个具体的表达式只有在对它求值的时候才会产生真正的值。这类表达式在程序的运行时不会真正被求值,因此也就无法获得值。这时如果强行求值就会发生错误。对于这种类型的表达式我们需要使用不同的信号量来表示其可能出现的错误情况。

我来回答
请发表正能量的言论,文明评论!