上一节中,我们知道了cout打印函数究竟如何工作的
没看过的小伙伴点击这里CPP 自定义流函数
下面我们就cout中的另一个常见符号endl做一个解析,并写出自己的endl
std::endl可以让打印换行,是很不错的功能,我们能不能自定义操作符呢?根据上一节的分析,显然是可以的.
那这里我们就拿分行符来举例子吧,输入一个字符,可以打印*******************这样的感觉
不过,说是操作符,其实我是按照对象来实现的,请看代码
// 定义一个空结构体 mtag
struct mtag {} cotag;
//这是常见的写法,类定义后面接名字,代表声明的该类的全局对象
// 重载 << 操作符以处理 mtag
std::ostream& operator<<(std::ostream& os, const mtag&) {
os << "---------"<< std::endl;
return os;
}
int main() {
// 使用自定义的符号 mtag
std::cout << cotag ;
return 0;
}
看到这里,要你写出自己的endl是不是很简单了?这就留作读者自行探索吧
好的,又水完一篇 又对流的用法有了新的理解啊ψ(`∇´)ψ