27.1 — 异常的必要性
在上一课关于错误处理的课程中,我们讨论了如何使用 assert()、std::cerr 和 exit() 来处理错误。然而,我们推迟了一个我们现在将要讨论的话题:异常。当返回代码失败时,编写可重用代码时,错误处理是必不可少的。最常见的……
在上一课关于错误处理的课程中,我们讨论了如何使用 assert()、std::cerr 和 exit() 来处理错误。然而,我们推迟了一个我们现在将要讨论的话题:异常。当返回代码失败时,编写可重用代码时,错误处理是必不可少的。最常见的……
本课和下一课是为那些希望更深入了解C++模板的人提供的可选阅读材料。部分模板特化并不常用(但在特定情况下可能很有用)。在本课中,您学习了如何使用表达式参数来参数化模板类。让我们来看……
在之前的课程中,您学习了如何使用模板类型参数来创建与类型无关的函数和类。模板类型参数是一个占位符类型,它会被作为参数传入的类型所替换。然而,模板类型参数并不是唯一的模板类型……
在课程中,我们讨论了编译器如何使用函数模板来实例化函数,然后这些函数被编译。我们还注意到,如果函数模板中的代码尝试执行实际类型不支持的某些操作(例如添加整数……),这些函数可能无法编译。
假设您想编写一个函数来计算两个数字中的最大值。您可能会这样做: int max(int x, int y) { return (x < y) ? y : x; // 注意:我们使用 < 而不是 >,因为 std::max 使用 < } 虽然……
C++ 中的文件 I/O 工作方式与普通 I/O 非常相似(只增加了一些微小的复杂性)。C++ 中有 3 个基本的文件 I/O 类:ifstream(派生自 istream)、ofstream(派生自 ostream)和 fstream(派生自 iostream)。这些类分别用于文件输入、输出和输入/输出。要使用这些……
大家好,我刚刚将这个网站升级到 WordPress 2.5,Tiga v2.3 似乎运行良好。因此:如果您已经运行 Tiga v2.3,应该能够升级到 WordPress v2.5,而不会遇到重大问题。如果您运行的是旧版本的 Tiga 主题,……