青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Codejie's C++ Space

Using C++

練習(xí):統(tǒng)計對象演變



??? 我所做的工作上的程序主要是處理‘消息’的,簡單點就是將‘消息’從一端搬到另一端,這樣的過程就需要一個對象負(fù)責(zé)記錄搬運次數(shù),這個對象可以叫做‘統(tǒng)計’對象--CStatObject。

??? 在開始寫統(tǒng)計對象時,我一直是根據(jù)有幾個統(tǒng)計項,就定義幾個統(tǒng)計變量,樣子類似如下:
#ifndef?__STATOBJECT_H__
#define?__STATOBJECT_H__

#include?
<iostream>

class?CStatObject
{
public:
????
enum?StatType?{?ST_SOAP_NOTIFY?=?0,?ST_SOAP_SEND,?ST_APP_NOTIFY,?ST_APP_SEND?};
public:
????CStatObject();
????
virtual?~CStatObject()?{}

????
void?Init();
????
int?Inc(StatType?type,?bool?req);
????
void?Show(std::ostream&?os)?const;
private:
????size_t?m_szSOAPNotifyReq;
????size_t?m_szSOAPSendReq;
????size_t?m_szAppNotifyReq;
????size_t?m_szAppSendReq;

??? size_t?m_szSOAPNotifyResp;
????size_t?m_szSOAPSend
Resp;
????size_t?m_szAppNotify
Resp;
????size_t?m_szAppSend
Resp;
};

#endif

??? 如上代碼可以看出,如果需要統(tǒng)計的項目過多時,變量的定義就變成一個很繁瑣的事情。因此,根據(jù)統(tǒng)計項的特點--每個統(tǒng)計項目都有請求和應(yīng)答兩項,于是,再簡化如下:
#ifndef?__STATOBJECT_H__
#define?__STATOBJECT_H__

#include?
<iostream>
#include <map>

class?CStatObject
{
public:
????
enum?StatType?{?ST_SOAP_NOTIFY?=?0,?ST_SOAP_SEND,?ST_APP_NOTIFY,?ST_APP_SEND?};
????typedef?std::pair
<size_t,?size_t>?TCountPair;
public:
????CStatObject();
????
virtual?~CStatObject()?{}

????
void?Init();
????
int?Inc(StatType?type,?bool?req);
????
void?Show(std::ostream&?os)?const;
private:
????TCountPair?m_szSOAPNotify;
????TCountPair?m_szSOAPSend;
????TCountPair?m_szAppNotify;
????TCountPair?m_szAppSend;
};

#endif

??? 嗯,省了一半。但要是統(tǒng)計項目本身很多時,還是會需要定義很多的變量,于是,再次精簡如下:
#ifndef?__STATOBJECT_H__
#define?__STATOBJECT_H__

#include?
<iostream>
#include?
<map>

class?CStatObject
{
public:
????
enum?StatType?{?ST_SOAP_NOTIFY?=?0,?ST_SOAP_SEND,?ST_APP_NOTIFY,?ST_APP_SEND?};

????typedef?std::pair
<size_t,?size_t>?TCountPair;
????typedef?std::map
<StatType,?TCountPair>?TStatMap;
public:
????CStatObject();
????
virtual?~CStatObject()?{}

????
void?Init();
????
int?Inc(StatType?type,?bool?req);
????
void?Show(std::ostream&?os)?const;

private:
????TStatMap?_mapStat;
};

#endif

??? 嘿嘿,現(xiàn)在這個樣子,不論統(tǒng)計項目如何變化,變量永遠(yuǎn)就這一個了~總結(jié)來說:偷懶使人進(jìn)步~


??? 這里是實現(xiàn)部分,一樣的繁瑣,但比前兩種,還是省了很多行代碼的~
#include?"StatObject.h"

CStatObject?g_stStatObject;

CStatObject::CStatObject()
{
????Init();
}

void?CStatObject::Init()
{
????_mapStat.clear();

????_mapStat.insert(std::make_pair(ST_SOAP_NOTIFY,?std::make_pair(
0,0)));
????_mapStat.insert(std::make_pair(ST_SOAP_SEND,?std::make_pair(
0,0)));
????_mapStat.insert(std::make_pair(ST_APP_NOTIFY,?std::make_pair(
0,0)));
????_mapStat.insert(std::make_pair(ST_APP_SEND,?std::make_pair(
0,0)));
}

int?CStatObject::Inc(CStatObject::StatType?type,?bool?req)
{
????TStatMap::iterator?it?
=?_mapStat.find(type);
????
if(it?==?_mapStat.end())
????????
return?-1;
????
if(req)
????????
++?it->second.first;
????
else
????????
++?it->second.second;

????
return?0;????
}

void?CStatObject::Show(std::ostream&?os)?const
{
????os?
<<?"\n---?Stat?Info?---";
????
for(TStatMap::const_iterator?it?=?_mapStat.begin();?it?!=?_mapStat.end();?++?it)
????{
????????
switch(it->first)
????????{
????????
case?ST_SOAP_NOTIFY:
????????????os?
<<?"\nSOAP?Notify?=?";
????????????
break;
????????
case?ST_SOAP_SEND:
????????????os?
<<?"\nSOAP?Send?=?";
????????????
break;
????????
case?ST_APP_NOTIFY:
????????????os?
<<?"\nApp?Notify?=?";
????????????
break;
????????
case?ST_APP_SEND:
????????????os?
<<?"\nApp?Send?=?";
????????????
break;
????????
default:
????????????os?
<<?"\nIMPOSSIBLE?=?";
????????}
????????os?
<<?it->second.first?<<?"/"?<<?it->second.second?<<?"(req/resp)";
????}
}

posted on 2009-08-14 10:18 codejie 閱讀(180) 評論(0)  編輯 收藏 引用 所屬分類: C++

公告

Using C++

導(dǎo)航

統(tǒng)計

留言簿(73)

隨筆分類(513)

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜在线视频观看日韩17c| 国产亚洲一区在线| 中日韩视频在线观看| 一区二区三区国产在线| 国产精品中文字幕在线观看| 久久av一区| 鲁大师影院一区二区三区| 亚洲破处大片| 亚洲一区二区欧美| 精东粉嫩av免费一区二区三区| 欧美成人中文字幕| 欧美日韩在线大尺度| 久久高清国产| 欧美黄色精品| 久久国产精品72免费观看| 免费久久99精品国产| 亚洲永久精品大片| 久久婷婷久久| 亚洲欧美国产77777| 久久综合狠狠| 亚洲欧美日本精品| 你懂的视频欧美| 欧美一区亚洲| 欧美乱妇高清无乱码| 久久精品99国产精品| 欧美欧美午夜aⅴ在线观看| 久久九九免费视频| 欧美午夜一区二区| 欧美高清不卡在线| 国产美女扒开尿口久久久| 亚洲国产经典视频| 国产区欧美区日韩区| 亚洲国产一区二区三区在线播 | 国产欧美一区二区白浆黑人| 亚洲第一视频网站| 国产欧美一区视频| 宅男精品导航| 亚洲精品国产拍免费91在线| 欧美一区国产在线| 亚洲欧美日韩一区二区三区在线观看 | 欧美一区二区三区精品电影| 蜜臀a∨国产成人精品| 欧美亚洲一级| 国产精品白丝黑袜喷水久久久 | 亚洲欧美精品| 欧美日韩激情网| 亚洲高清一区二区三区| 激情成人在线视频| 性欧美1819性猛交| 欧美亚洲一区三区| 国产精品蜜臀在线观看| 一区二区三区高清不卡| 一区二区激情| 欧美日韩精品系列| 亚洲精品日韩在线观看| 亚洲日产国产精品| 欧美福利视频| 亚洲国产清纯| 日韩一级免费| 欧美精品一区二区三区在线看午夜 | 在线精品一区| 久久久综合网站| 欧美jizz19性欧美| 亚洲国产精品久久久久秋霞不卡 | 一区二区精品国产| 亚洲欧美国产日韩中文字幕| 国产精品国产亚洲精品看不卡15| 一本大道久久a久久精品综合| 亚洲一区二区精品| 国产精品亚洲欧美| 久久国产精品99国产精| 另类春色校园亚洲| 亚洲精品中文字幕在线| 欧美日本在线一区| 99在线热播精品免费99热| 亚洲在线一区| 国精品一区二区三区| 久久久久成人精品免费播放动漫| 欧美成人首页| 一区二区三区精密机械公司| 国产精品毛片在线看| 久久国产精品亚洲va麻豆| 欧美国产三区| 亚洲特级毛片| 国产日韩欧美不卡| 久久综合中文色婷婷| 日韩视频第一页| 久久久777| 99视频在线精品国自产拍免费观看| 欧美视频一区二区三区| 性做久久久久久久久| 欧美激情按摩| 午夜精品亚洲| 亚洲国产精选| 国产精品乱码久久久久久| 久久精品亚洲| 国产精品99久久久久久有的能看| 噜噜噜噜噜久久久久久91| 亚洲无线一线二线三线区别av| 国产亚洲精品久久久久动| 亚洲精品在线观看视频| 亚洲精品1234| 国产精品二区三区四区| 久久蜜桃精品| 亚洲视屏一区| 欧美激情一区二区三区蜜桃视频 | 一本色道久久精品| 国语自产精品视频在线看一大j8 | 欧美一区二区久久久| 亚洲国产小视频在线观看| 国产女主播一区二区三区| 欧美精品在线视频| 久久久久久色| 欧美一区1区三区3区公司| 日韩午夜电影| 亚洲福利视频在线| 久久免费一区| 久久久久久欧美| 亚洲欧美日韩综合aⅴ视频| 亚洲欧洲精品一区二区精品久久久| 国产亚洲综合精品| 国产精品三区www17con| 欧美日韩精品免费| 欧美理论大片| 欧美精品一区二区三区久久久竹菊 | 欧美激情精品久久久久久| 久久久久国产精品午夜一区| 亚洲一区二区三区四区中文 | 夜夜嗨av一区二区三区| 亚洲福利视频专区| 欧美国产精品va在线观看| 麻豆成人91精品二区三区| 久久久99爱| 久久激情中文| 久久精品国产2020观看福利| 欧美一区二区三区另类| 亚洲免费网站| 欧美亚洲一区二区在线| 欧美在线免费观看| 性欧美激情精品| 久久九九全国免费精品观看| 久久国产毛片| 久久精品五月| 久久深夜福利| 欧美激情亚洲激情| 亚洲国产欧美久久| 99re6这里只有精品视频在线观看| 亚洲乱码国产乱码精品精| 日韩一级网站| 亚洲一区二区在线免费观看| 亚洲在线中文字幕| 久久国产精品久久久久久电车| 久久国产日韩| 麻豆精品精华液| 欧美精品乱人伦久久久久久| 欧美三区视频| 国产日韩欧美精品在线| 精品99一区二区| 亚洲精品一二区| 午夜亚洲福利| 久久伊人精品天天| 亚洲人成欧美中文字幕| 一区二区电影免费在线观看| 欧美影视一区| 欧美不卡视频一区发布| 欧美三日本三级少妇三2023| 国产麻豆91精品| 91久久在线播放| 久久精品91久久久久久再现| 欧美色中文字幕| 国产亚洲精品成人av久久ww| 亚洲精品1区2区| 亚洲欧美日韩在线综合| 玖玖国产精品视频| 亚洲麻豆av| 久久漫画官网| 国产老女人精品毛片久久| 136国产福利精品导航| 亚洲午夜久久久久久久久电影院 | 欧美日韩精品在线播放| 国产亚洲欧美aaaa| 99国产精品99久久久久久粉嫩| 欧美一区观看| 亚洲毛片在线观看.| 久久精品动漫| 国产精品日本一区二区| 亚洲免费黄色| 麻豆精品视频在线观看| 中文一区在线| 欧美激情成人在线| 国内精品一区二区| 午夜在线电影亚洲一区| 亚洲精品美女| 美女网站在线免费欧美精品| 国产精品视频不卡| 一区二区三区四区蜜桃| 亚洲国产91精品在线观看| 欧美一级在线播放| 国产精品亚洲综合久久| 亚洲一区尤物|