2K+ 次浏览
cin、cout、cerr 和 clog 是处理标准输入和标准输出的流。它们是在 iostream 头文件中定义的流对象。std::cin 是 istream 类的对象,它表示面向窄字符(char 类型)的标准输入流。它对应于 C 流 stdin。标准输入流是环境确定的字符源。通常假设它是来自外部源的输入,例如键盘或文件。std::cout 是 ostream 类的对象,它表示面向窄字符(char 类型)的标准输出流。它对应于… 阅读更多
点运算符和箭头运算符都用于在 C++ 中访问类的成员。它们只是用于不同的场景。在 C++ 中,声明为 class、struct 或 union 的类型被认为是“类类型”。因此,以下内容指的是这三种类型。a.b 仅在 b 是对象 (或对象的引用[1]) a 的成员时才使用。因此,对于 a.b,a 将始终是类的实际对象(或对象的引用)。a→b 本质上是 (*a).b 的简写,即,如果 a 是指向对象的指针,则… 阅读更多
349 次浏览
在 C++ 中进行运算符重载时,应遵循 3 个基本规则。像所有此类规则一样,也有一些例外。这 3 个规则是:1. 每当运算符的含义不明确且没有争议时,就不应重载它。相反,应该使用精心选择的名称提供一个函数。基本上,运算符重载的首要规则的核心是:不要这样做。这可能看起来很奇怪,但只有在少数情况下运算符重载是合适的。原因是很难理解应用运算符背后的语义… 阅读更多
5K+ 次浏览
std::cerr 是 ostream 类的对象,它表示面向窄字符(char 类型)的标准错误流。它对应于 C 流 stderr。标准错误流是环境确定的字符目标。此目标可能由多个标准对象(例如 cout 或 clog)共享。作为 ostream 类的对象,可以使用插入运算符(operator<<)将格式化数据写入其中,也可以使用…
6K+ 次浏览
std::cin 是 istream 类的对象,它表示面向窄字符(char 类型)的标准输入流。它对应于 C 流 stdin。标准输入流是环境确定的字符源。通常假设它是来自外部源的输入,例如键盘或文件。作为 istream 类的对象,可以使用提取运算符(operator>>)将字符检索为格式化数据,也可以使用诸如 read 之类的成员函数将字符检索为非格式化数据。该对象在具有外部链接和静态持续时间的头文件中声明:它… 阅读更多
286 次浏览
C++ 中没有这样的运算符。有时,我们需要创建包装器类型。例如,unique_ptr、shared_ptr、optional 等类型。通常,这些类型都有一个名为 .get 的访问器成员函数,但它们也提供运算符 -> 以支持直接访问包含的值,类似于普通指针的操作。问题是,有时我们将其中几种类型嵌套在一起。这意味着我们需要多次调用 .get 或使用许多解引用运算符,直到到达该值。例如:wrapper wp; wp.get().get().length(); wp.get()->length();这可能是一个… 阅读更多
std::cout 是 ostream 类的对象,它表示面向窄字符(char 类型)的标准输出流。它对应于 C 流 stdout。标准输出流是环境确定的字符的默认目标。此目标可能与更多标准对象(例如 cerr 或 clog)共享。作为 ostream 类的对象,可以使用插入运算符(operator<<)将字符写入其中,也可以使用…
1K+ 次浏览
C++ 标准库包含不同类型的库。以下是所有这些类型以及它们下的库的列表。实用程序库 - 通用实用程序,如程序控制、动态内存分配、随机数、排序和搜索 - 用于信号管理的函数和宏常量(例如 SIGINT 等) - 保存(和跳转)到执行上下文的宏(和函数) - 可变长度参数列表的处理 - 运行时类型信息实用程序 - std::bitset 的类模板 - 函数对象、函数调用、绑定操作和引用包装器 - 各种实用程序组件 - C 样式时间/日期实用程序 - 标准宏和类型定义(自… 阅读更多
16K+ 次浏览
运算符优先级决定表达式中项的分组方式。运算符的结合性是一个属性,它决定了在没有括号的情况下如何对相同优先级的运算符进行分组。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符:例如 x = 7 + 3 * 2;此处,x 被赋值为 13,而不是 20,因为运算符 * 的优先级高于 +,因此它首先与 3*2 相乘,然后加到 7 中。此处,优先级最高的运算符出现在… 阅读更多
3K+ 次浏览
C++ 提供两个指针运算符,它们是地址运算符 (&) 和间接运算符 (*)。指针是一个包含另一个变量地址的变量,或者可以说包含另一个变量地址的变量被称为“指向”另一个变量。变量可以是任何数据类型,包括对象、结构或再次指向自身。间接运算符 (*),它是 & 的补充。它是一个一元运算符,返回其操作数指定的地址处变量的值。例如,示例 #include using namespace ... 阅读更多