22.2 — std::string 的构造与析构
在本课中,我们将探讨如何构造 std::string 对象,以及如何从数字创建字符串,反之亦然。字符串构造 字符串类有许多构造函数可用于创建字符串。我们将逐一查看它们……
在本课中,我们将探讨如何构造 std::string 对象,以及如何从数字创建字符串,反之亦然。字符串构造 字符串类有许多构造函数可用于创建字符串。我们将逐一查看它们……
标准库包含许多有用的类——但也许最有用的是 std::string。std::string(和 std::wstring)是一个字符串类,提供了许多操作来赋值、比较和修改字符串。在本章中,我们将深入研究这些字符串类。注意:C 风格字符串将被提及为……
在上一课中,我们介绍了随机数生成的概念,并讨论了 PRNG 算法通常如何用于在程序中模拟随机性。在本课中,我们将探讨如何在程序中生成随机数。要访问任何随机化功能,请……
异常和成员函数 到本教程的这一点,你只看到异常用于非成员函数。然而,异常在成员函数中同样有用,在重载运算符中更是如此。考虑以下重载的 [] 运算符,作为简单整数数组类的一部分:int& IntArray::operator[](const …
到目前为止,你对异常的工作原理应该有了一个合理的了解。在本课中,我们将介绍一些更有趣的异常情况。未捕获的异常 当函数抛出它自己没有处理的异常时,它假定调用堆栈中某个函数会……
在上一课中,我们解释了 throw、try 和 catch 如何协同工作以启用异常处理。在本课中,我们将讨论异常处理如何与函数交互。从被调用函数抛出异常 在上一课中,我们指出,“try 块检测到任何异常……”
在上一课中,我们讨论了异常的必要性,并指出使用返回代码会导致你的控制流和错误流混杂在一起,从而限制了两者。C++ 中的异常使用三个协同工作的关键字实现:throw、try 和 catch。抛出异常 我们……
在上一课中,我们讨论了处理错误的方法,包括使用 assert()、std::cerr 和 exit()。然而,我们推迟了一个我们现在将介绍的进一步主题:异常。当返回代码失效时 编写可重用代码时,错误处理是必需的。最常见的……