C++ 运算符重载 operator xxx * ()
来源:互联网 发布:梦幻西游网络错误 编辑:程序博客网 时间:2024/05/29 04:55
今天看见一段code。 发现一个很好玩的用法. 可能我见识少吧。记录一下:
class Loop
{
public:
。。。。。。 inline operator event_base * () const
{
return _base;
};
}
}
乍一看,还真没看明白这个的用途。研究一下,这个函数很管用。这个函数会把这个class的指针转化为event_base指针。当然你的class里边要有event_base*的成员。
看下边的例子
class Vector
{
public:
float x,y,z;
Vector() : x(0), y(0), z(0){
}
Vector( float x, float y, float z ) : x(x), y(y), z(z){
}
operator float*(){
return &x;
}
operator const float *(){
return &x;
}
我们就可以这么玩了
Vector x(1, 2, 3);
float* f = x;
assert(*f == 1);
怎么样,是不是很好玩 哈哈
0 0
- C++ 运算符重载 operator xxx * ()
- 2.c++-重载运算符operator
- operator重载运算符
- operator 运算符重载
- operator运算符重载
- operator重载运算符
- C++运算符重载(operator)
- C++重载运算符operator
- 运算符重载之operator
- 运算符重载Operator Overloading
- C++ operator运算符重载
- C++运算符重载:operator
- 运算符的重载 operator
- C++中重载间接运算符(operator->())
- c++之operator运算符重载
- 【c++程序】重载加法运算符operator+
- operator重载运算符(一)
- Swift语言精要 - Operator(运算符重载)
- 开发史上最强模块加载工具
- 软件需求规格说明书模板
- iOS USB调试
- js在设置角标的时候因为浏览器默认样式(User Agent Stylesheet)不起作用
- Java--GUI
- C++ 运算符重载 operator xxx * ()
- leon_hm android状态栏颜色修改
- 关于.NET玩爬虫这些事
- Android Studio 使用Git(上)
- zookeeper实现三地分中心容灾小结:监听API选择,秒级切换,网络抖动
- Linux环境变量
- Web开发、原生开发、混合开发的区别优势:
- 关于javax.servlet.ServletException: java.lang.IllegalStateException: No WebEnvironment found: no Envir
- 汽水瓶