c++ 逗号操作符重载

news/2024/6/19 3:22:09 标签: c/c++
Overload Operator Comma
首先看看think in 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;
}

输出信息



转载于:https://www.cnblogs.com/yangykaifa/p/7269428.html


http://www.niftyadmin.cn/n/785661.html

相关文章

大数据、机器学习和人工智能未来发展的8个因素

人工智能和机器学习以及不断增加的数据量正在改变当前的商业和社会格局。这些领域中出现了许多需要CIO注意的主题和问题。 日前&#xff0c;OReilly 公司在伦敦Strata举办了一个为期数天的数据会议&#xff0c;与会者为此更好地了解大数据、机器学习(ML)和人工智能的发展方向。…

一起艳恶学习存储过程

存储函数&#xff1a; CREATE PROCEDURE insert_test () BEGIN SET a1000000; WHILE a>0 DO SET bhello world; INSERT INTO test(no,name) VALUES(a, b); SET aa-1; END WHILE; END 意思大概就是批量插入1000000条hello world到数据库中。 Java执行存储过程&#xff1a;…

大数据框架Hadoop生态系统各组件与Yarn的兼容性如何?

作为Hadoop 2.0中出现的资源管理系统&#xff0c;Yarn总体上仍然是master/slave结构&#xff0c;在整个资源管理框架中&#xff0c;resourcemanager为master&#xff0c;nodemanager是slave。作为Hadoop生态系统的一部分&#xff0c;Yarn要想获得市场认可&#xff0c;必须学会与…

一、SQL语法——1-MySQL基本命令

1-MySQL基本命令 1.查看当前MySQL实例下包含多少个数据库&#xff1a; show databases; 2.删除指定数据库&#xff1a; drop database 数据库名; 3.进入指定数据库&#xff1a; use 数据库名; 4.查询该数据库中有多少个数据表&#xff1a; show tables; 5.查看指定数据表的表结…

java实现批量生成文件夹和批量修改文件名

1、上代码&#xff1a; package com.yanhui.util;import java.io.File; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry;SuppressWarnings("rawtypes") public class _fileUtil {private Map map;public …

如何使用HBase?大数据存储的两个实战场景

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统&#xff0c;适用于结构化的存储&#xff0c;底层依赖于Hadoop的HDFS&#xff0c;利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。因此HBase被广泛使用在大数据存储的解决方案中。   为何使用HBas…

java研发博客点击量

先上两图 你没看错9&#xff1a;17到9&#xff1a;18&#xff0c;只需要1分钟&#xff0c;这篇文章由7人阅读量变为92人&#xff0c;增加了85个点击量&#xff0c;但是很奇怪左边访问好像只增加30&#xff0c;这是因为我写的代码太快了&#xff0c;左边的访问量还没来得及…

获取目标字符串在字符串中第N次出现的位置

/*** 获取目标字符串在字符串中第N次出现的位置* file name* author xiehongwei* date 2017-8-2 下午3:29:09* param source 源字符串* param target 目标字符串* param n 出现位置* return*/public static int getCharacterPosition(String source, String targ…