12.15 — std::optional
在课程中,我们讨论了函数遇到自身无法合理处理的错误的情况。例如,考虑一个计算并返回值的函数:int doIntDivision(int x, int y) { return x / y; } 如果调用者传入的值在语义上...
在课程中,我们讨论了函数遇到自身无法合理处理的错误的情况。例如,考虑一个计算并返回值的函数:int doIntDivision(int x, int y) { return x / y; } 如果调用者传入的值在语义上...
C++23 是什么?2023 年 2 月,ISO(国际标准化组织)批准了 C++ 的新版本,称为 C++23。C++23 中的新改进 为了您的兴趣,这里列出了 C++23 添加的主要更改。请注意,此列表并非详尽无遗,而是旨在突出...
当我们需要将 std::vector 传递给函数时,我们通过(const)引用传递它,这样就不会对数组数据进行昂贵的复制。因此,您可能会惊讶地发现,按值返回 std::vector 是可以的。你说什么?复制...
干得好。函数模板可能看起来很复杂,但它们是使代码与不同类型对象一起工作的强大方式。我们将在未来的章节中看到更多的模板内容,所以请系好安全带。章节回顾允许我们创建多个函数,其中...
如果我们想在多个函数或文件中使用随机数生成器怎么办?一种方法是在我们的 main() 函数中创建(并播种)我们的 PRNG,然后将其传递到所有需要它的地方。但这对于我们可能只偶尔使用的东西来说,传递得太多了……
在上一课中,我们定义了什么是常量表达式,讨论了为什么常量表达式是理想的,并总结了常量表达式何时在编译时实际求值。在本课中,我们将更深入地了解如何在现代 C++ 中创建可在常量表达式中使用的变量……
运算符符号形式含义条件运算符 ?: c ? x : y 如果条件 c 为真则求值 x,否则求值 y 条件运算符 (?:)(有时也称为算术 if 运算符)是一个三元运算符(一个接受 3 个操作数的运算符)。因为它历来是 C++ 唯一的...
在某些情况下,当使用某些类型的值调用函数时,函数可能无法按预期运行。请看以下示例: #include <iostream> void printInt(int x) { std::cout << x << ‘\n’; } int main() { printInt(5); // 正常:打印 5 printInt(‘a’); // 打印 97 — ...