2K+ 阅读量
cin、cout、cerr 和 clog 是处理标准输入和标准输出的流。它们是在 iostream 头文件中定义的流对象。std::cin 是 istream 类的对象,表示面向窄字符(char 类型)的标准输入流。它对应于 C 流 stdin。标准输入流是环境确定的字符源。通常假定它来自外部源,例如键盘或文件。std::cout 是 ostream 类的对象,表示面向窄字符(char 类型)的标准输出流。它对应于… 阅读更多
点运算符和箭头运算符都用于在 C++ 中访问类的成员。它们只是在不同的场景中使用。在 C++ 中,声明为类、结构或联合的类型被认为是“类类型”。因此,以下内容指的是所有这三种类型。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 ... 阅读更多