C++左移<<运算符详解
之前一篇写的有些潦草。
现在来详细介绍一下左移运算符重载。
首先我们要清楚cout是一个ostream对象,能够识别C++中所有的基本数据类型。
为什么使用友元函数?
正常情况下是这样显示的,第一个是ostream的类对象cout
std::cout << Person;
如果使用一个Person成员函数来重载<<,Person将是第一个操作数,就像使用成员函数重载*运算符那样,就会变成这样
,看着很别扭,故使用ostream为第一个操作数
Person << std::cout;
返回值为ostream类对象?
int x = 1;
double y = 2;
std::cout << x << y;
C++从左到右读取输出语句
(std::cout << x) << y;
正如<<运算符要求左边是一个ostream对象。然而,因为表达式cout<< x位于y的左侧,所以输出语句也是一个ostream对象。因此,表达式(cout << x)本身就是ostream对象cout,从而可以位于<<运算符的左侧
ostream& operator(ostream& os, const Person& p) {os << p.name << p.age;return os;
}
也就是说,下面的语句
cout << Person;
将被转换成下面的语句
operator << (cout , Person);
C++左移<<运算符详解相关推荐
- mysql所支持的比较运算符_mysql比较运算符有哪些?Mysql比较运算符详解
比较运算符可用于比较数字和字符串.今天发一篇Mysql比较运算符详解,希望对初学者有所帮助,虽然现在流行NoSQL,但是MYSQL还是很有用的,数字作为浮点值进行比较,字符串以不区为例进行比较,=运算 ...
- C++移位运算符详解
C++移位运算符详解 移位运算符包括左移"<<"和右移">>" 左移运算符<<: 1.无符号 语法格式:需要移位的数字< ...
- Java 位运算符详解
文章目录 Java 位运算符详解 前情提要: 一.简介 二.如何区分 &,|,^ 是逻辑运算符还是位运算符? 三.例子 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移 < ...
- python3运算符和表达式实验报告_对Python3 * 和 ** 运算符详解
在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法. 1. 算数运算 * 代表乘法 ** 代表乘方 >>> 2 * 5 10 >>> 2 ** ...
- JavaScript学习总结(四)——逻辑OR运算符详解
转载自 JavaScript学习总结(四)--逻辑OR运算符详解 在JavaScript中,逻辑OR运算符用||表示 var bTrue = true;var bFalse = false;var ...
- java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...
java基础(2)--运算符详解 自增自减规则 自增自减就是常用的 a = a++ 或者 a = ++a;前者是后缀式,先把a赋值给a,再加一:后者是后缀式,先加一,在赋值给a;而且a++,++a并不 ...
- 解释一下java的短路运算,Java短路运算符和非短路运算符详解
Java短路运算符和非短路运算符详解 时间:2017-09-15 来源:互联网 你了解Java短路运算符和非短路运算符吗?短路运算符就是我们常用的"&&". ...
- MySQL—运算符详解(算术、比较、逻辑、范围运算符与集合运算符 模糊查询 NULL值运算与null值判断 位运算符)
MySQL--运算符详解 知识纲要 算术运算符 比较运算符 逻辑运算符 范围运算符与集合运算符 模糊查询 NULL值运算与null值判断 位运算符 1.算术运算符 加 减 乘 除 取余 div 也表示 ...
- C语言学习——运算符详解
C语言学习--运算符详解 一.学习运算符 (1)运算对象的数目 C语言中,运算符的运算对象可以是一个,称单目运算符:运算对象也可以是两个,称双目运算符:运算对象还可以是三个,称三目运算符. (2)运算 ...
- JS运算符详解与优先级
JS运算符详解与优先级 算术运算符 赋值运算符 一元运算符 比较运算符 逻辑运算符 运算符优先级 算术运算符 + 求和 - 求差 * 求积 / 求商 % 求余 取模 乘除取余优先级相同,加减优先级相同 ...
最新文章
- 构建node.js基础镜像_在Android上构建Node.js应用程序
- PermutationImportance
- mysql主从复制延时性问题_MySQL主从同步延迟原因及解决办法
- 持币过节也能让钱生钱
- 精品素材 – 24款扁平风格 PSD 格式图标免费下载
- c语言 静态断言,C断言/静态断言
- HTML如何修改乱码,html网页乱码怎么修改
- 偏微分方程数值求解 -- ING
- SpringBoot电影网站源码(含数据库)
- #创新应用#豆果美食:贴心的美食专家!
- 为什么Julia如此受欢迎?
- 腾讯云短信发送php
- 【JZOJ A组】排列
- 吴恩达 tensorflow
- Nexus 搭建docker本地仓库(hosted)和私有仓库(proxy)
- 易基因 | 常用的6种DNA甲基化测序方法,你知道几个?
- 思岚科技荣获CSDN 【2019优秀人工智能案例TOP 30+】
- 【cartographer without ros】四、里程计odom数据转换
- python电子病历交接班系统_电子病历系统开发经验共享,大家共勉!
- 时隔3年,再次折腾BlackBerry 8830!