C++ operator两种用法【转】
C++中的operator,有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。下面分别进行介绍:
1.operator overloading
C++可能通过operator 重载操作符,格式如下:类型T operator 操作符 (),如比重载+,如下所示
template<typename T> class A
{
public:
const T operator + (const T& rhs)
{
return this->m_ + rhs;
}
private:
T m_;
};
又比如STL中的函数对象,重载(),如下所示
template<typename T> struct A
{
T operator()(const T& lhs, const T& rhs){ return lhs-rhs;}
};
2 operator casting
C++可能通过operator 重载隐式转换,格式如下: operator 类型T (),如下所示
class A
{
public:
operator B* () { return this->b_;}
operator const B* () {return this->b_;}
operator B& () {return *this->b_;}
private:
B* b_;
};
A a;
当if(a),编译时,其中它转换成if(a.operator B*()),其实也就是判断 if(a.b_)
C++ operator两种用法【转】相关推荐
- operator的两种用法
C++ operator两种用法 C++中的operator,有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换).下面分别 ...
- c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast...
C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换.对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式 ...
- html如何让a标签提交表单提交,html post请求之a标签的两种用法解析
这篇文章主要介绍了html post请求之a标签的两种用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧 html post请求之a标签的两种用法 ...
- html post举例,html post请求之a标签的两种用法举例
html post请求之a标签的两种用法举例 1.使用ajax来发起POST请求 HTML代码如下:发起POST请求a> JQuery代码如下:$(".a_post").on ...
- java sort 第二个参数_详解java Collections.sort的两种用法
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: public static > void sort(List list) { l ...
- include virtual引入html文件,ASP文件引用include file和include virtual两种用法
在 ASP 编程中,我们经常遇到需要重复使用的模块代码,通常我们将这些模块代码保存为一个单独的文件,需要使用此模块代码时,在程序中通过 #include 指令引用此文件,这样使得工作效率和程序可读性大 ...
- python匿名函数Lambda的两种用法
python匿名函数Lambda的两种用法 第一种方式:作为函数对象单独使用 第二种方式:放在另一函数里使用 一般来说匿名函数Lambda的使用就是为了避免单独def一个函数,而且不用给函数命名,但是 ...
- hover在两种情况下的两种用法
:hover在鼠标移到链接上时添加的特殊样式. 提示: :hover 选择器器可用于所有元素,不仅是链接. 提示: :link 选择器设置了未访问过的页面链接样式, :visited 选择器设置访问过 ...
- git rebase的两种用法(最全)
rebase的两种用法 用法一: 合并当前分支的多个commit记录 1. 找到想要合并的commit, 使用rebase -i 2. 进入Interact交互界面 3.使用s命令 合并到上一个com ...
最新文章
- 进程内COM与进程外COM
- HTML-参考手册: HTML 颜色名
- 《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...
- 若依前后端部署之后验证码不显示
- 开源 Python网络爬虫框架 Scrapy
- 从前端智能化看“低代码/无代码”
- 自带容器_什么是衬胶容器罐以及质量标准?
- 图像处理-自适应的二值化图像
- 远程桌面/远程登陆中强行登陆(他人退出)与切换回话(登陆后切换到上次别的登陆)3389...
- java 水仙花数问题(java50道经典编程题)
- Github上优秀的开源项目
- VBA代码片之计算加权平均分
- VulnHub渗透测试实战靶场 - SICKOS: 1.1
- 微信小说小程序源码-自带采集带安装教程
- 深入理解JVM(程序编译与代码优化篇)
- Spring AOP实现原理,从代理说起
- 《软件测试方法和技术》-读书笔记(三)
- 浅谈《数学之美》①——自然语言处理
- Vue导出json数据到Excel电子表格
- doc和docx的区别