c++ 逗号操作符重载
#include <iostream>
using namespace std; class After {
public:
const After& operator,(const After&) const {
cout << "After::operator,()" << endl;
return *this;
}
}; class Before {}; Before& operator,(int, Before& b) {
cout << "Before::operator,()" << endl;
return b;
} int main() {
After a, b;
a, b; // Operator comma called Before c;
1, c; // Operator comma called
} ///:~
#include <iostream>
#include <typeinfo> using namespace std; class CClient
{
public:
CClient(){};
~CClient(){};
public: CClient& operator,(string str)
{
strIpAddr_=str;
return *this;
} CClient& operator,(int nVal)
{
nPort_=nVal;
return *this;
}; bool connect()
{
//Connect(strIpAddr_,nPort_);
cout<<"connect to server "<<endl;
return true;
} public:
string strIpAddr_;
int nPort_;
}; struct OutputDebugInfo
{
OutputDebugInfo& operator,(string str)
{
cout<<str;
}
}; #define outputDebugInfo OutputDebugInfo{}, int main() { (CClient {},80,"192.168.1.10").connect(); outputDebugInfo "Log: this is Debug Infomation Test \n"; return 0;
}
输出信息
c++ 逗号操作符重载的更多相关文章
- C++中逗号操作符重载的分析
1,关注逗号操作符重载后带来的变化: 2,逗号操作符: 1,逗号操作符(,)可以构成都好表达式:exp1, exp2, exp3, ..., expN 1,逗号表达式用于将多个表达式连接为一个表达式: ...
- C++语法小记---重载逗号操作符
重载逗号操作符 逗号操作符算法:从左到右依次计算每一个表达式的值,整个逗号表达式的值等于最右边表达式的值,前面n-1个表达式可以没有返回值 重载逗号操作符: 参数必须有一个class成员 重载函数返回 ...
- C++学习笔记15:操作符重载的函数原型列表(推荐)
//普通四则运算 friend A operator +(const A & lhs, const A & rhs); friend A operator -(const A & ...
- __VA_ARGS__与逗号操作符的巧妙结合
class Test { public: template<class T> Test& operator,(T t) { //具体操作 return *this; } } Tes ...
- 15.C++-操作符重载
首先回忆下以前学的函数重载 函数重载 函数重载的本质为相互独立的不同函数 通过函数名和函数参数来确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中 类中的函数重载 ...
- 15.C++-操作符重载、并实现复数类
首先回忆下以前学的函数重载 函数重载 函数重载的本质为相互独立的不同函数 通过函数名和函数参数来确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中 类中的函数重载 ...
- c++ 操作符重载和友元
操作符重载(operator overloading)是C++中的一种多态,C++允许用户自定义函数名称相同但参数列表不同的函数,这被称为函数重载或函数多态.操作符重载函数的格式一般为: operat ...
- paip.操作符重载的缺失 Java 的一个大缺点
paip.操作符重载的缺失 Java 的一个大缺点 #----操作符重载的作用 1.提升用户体验 操作符重载..可以让代码更加自然.... 2.轻松实现代码代码移植 例如 java代码会直接移植到 ...
- C#中如何利用操作符重载和转换操作符
操作符重载 有的编程语言允许一个类型定义操作符应该如何操作类型的实例,比如string类型和int类型都重载了(==)和(+)等操作符,当编译器发现两个int类型的实例使用+操作符的时候,编译器会生成 ...
随机推荐
- 1.1(Spring MVC学习笔记)初识SpringMVC及SpringMVC流程
一.Spring MVC Spring MVC是Spring提供的一个实现了web MVC设计模式的轻量级Web框架. Spring优点:网上有,此处不复述. 二.第一个Spring MVC 2.1首 ...
- iOS 公司开发者账号申请清单
公司开发者账号申请清单: Apple ID账号申请: (有账号请提供账号密码) Apple ID: (最好是公司邮箱账号) Apple ID密码: (大于8位, 字母或数字组成, 包含 ...
- NDK之打印调试信息Log
第一步:gradle配置ndk ndk { moduleName "Iso8583Lib" ldLibs "log", "z", " ...
- JQuery获取第几个元素和判断元素在第几个
HTML代码: <ul> <li>jQuery判断当前元素是第几个元素示例</li> <li>jQuery获取第N个元素示例</li> &l ...
- Linux批量管理工具Ansible
Ansible-批量linux管理工具:https://github.com/ansible/ansible Ansible有如下优点: 1.轻量级,他不需要去客户端安装agent,更新时,只需要在操 ...
- linux+iptables搭建网关服务器
公司购买的一批云服务器只带内网,配置了一个负载均衡器(lb),这批服务器通过lb可以对外提供服务,但是这批服务器不能主动连接外网,例如使用wget下载文件,或者curl访问ttlsa.com站点. 额 ...
- canvas的一些问题记录
canvas当被设置width时,原来绘制的内容,将会清空.
- JavaScript 中函数节流和函数去抖的讲解
JavaScript 中函数节流和函数去抖的讲解 我们都知道频繁触发执行一段js逻辑代码对性能会有很大的影响,尤其是在做一些效果实现方面,或者逻辑中需要进行后端请求,更是会导致卡顿,效果失效等结果,所 ...
- 常用 ARM 指令集及汇编
ARM7TDMI(-S)指令集及汇编 ARM 处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制 较为简单,ARM7TDMI(-S)具有 32 位 ARM 指令集和 16 位 T ...
- Swift,类的调用
1.class或者struct如果没有实例没办法直接调用 (1)设置class后可直接调用 class S{ static var width:Int{ //static代表公有的,都可使用 retu ...