STL源码剖析之重载操作符
来源:互联网 发布:图灵机原理 知乎 编辑:程序博客网 时间:2024/06/05 19:44
#include<iostream>using namespace std;class INT{public:INT(int i):m_i(i){};friend ostream& operator<<(ostream& os,const INT& i);int& operator*()const//重载解除指针操作符{return (int&)m_i;}const INT operator++(int)//不能写成const &INT operator++(),因为不能引用零时变量{INT temp=*this;++(*this);return temp;}INT& operator++(){++(this->m_i);//写成这样会递归爆栈,++(*this)return *this;}const INT operator--(int)//不能写成const &INT operator--(),因为不能引用零时变量{INT temp=*this;--(*this);return temp;}INT& operator--(){--(this->m_i);//写成这样会递归爆栈,--(*this)return *this;}private:int m_i;};ostream& operator<<(ostream& os,const INT& i){cout<<i.m_i<<endl;return os;}int main(){INT i(5);cout<<++i;cout<<i++;cout<<i--;cout<<--i;return 0;}
0 0
- STL源码剖析之重载操作符
- STL源码剖析学习之function call操作符(operator())
- STL之Vector源码剖析
- STL之list源码剖析
- STL之deque源码剖析
- STL之priority_queue源码剖析
- STL 之 pair 源码剖析
- STL 之 vector 源码剖析
- STL 之 deque 源码剖析
- STL 之 list 源码剖析
- STL 之 set 源码剖析
- STL 之 multiset 源码剖析
- STL 之 map 源码剖析
- STL 之 multimap 源码剖析
- STL 之 stack 源码剖析
- STL源码剖析之list
- STL之hashtable源码剖析
- STL 之 hash_map源码剖析
- 数据类型之共用体
- bochs安装
- 【ci框架】ci框架中文件上传类及图像处理类的应用
- 朴素贝叶斯&&Python实现
- MySQL报错 Mysql Row Size too large (>8126) 和 Unknow Table Engine InnoDB 解决方案
- STL源码剖析之重载操作符
- CI框架入门示例之数据库取数据完整实现方法
- SqlServer事务语法及使用方法
- D3D11教程二十三之Fire(摇动的火)
- ci框架数据库操作快查
- http协议:模拟浏览器、服务器
- 爬虫编码解决1
- 第八周-OJ-B分数序列求和
- Java四种线程池的使用