- 博客(27)
- 资源 (13)
- 收藏
- 关注
原创 Item28代码测试
#include #include using namespace std;class Point{public: Point(){} Point(int x, int y):m_X(x),m_Y(y) { } int GetX()const { return m_X; } int GetY()const { return m_Y; } void setX
2012-10-28 11:54:29 767
原创 单例模式学习
#include#include #include using namespace std;class Log {public: static Log* GetInstance(string aData) { if (!m_pInstance) m_pInstance = new Log(aData); return m_pInstance; } static
2012-10-28 11:32:52 788
原创 EffectiveC++ Item21
返回对象时,不能返回引用;其实在前几个item里就反复讲到operator的时候;Widget& operator=(int rhs){...return *this;}这里就返回了引用;但这个item里,作者又举出了反例;const Widget operator*(const Widget&,const Widget&)
2012-10-23 00:12:34 831
原创 Item20
1.在函数形参传递参数时,一般可以传递指针或者引用;这样可以减少copy构造函数;如果不希望对象被改变,那就传递cosnt A&a吧;里面讨论了对于内置类型,有人建议用传值,但作者却坚持用引用,利用是:将来这个东西可能会膨胀;嗯,是的,有道理。另外传值的时候,有对象切割的危险,其实就是子类转化为父类的时候,子类的东西有可能被切掉,不会再有所谓的多态性;谁让你不传引用或指针呢?作者在
2012-10-22 23:40:20 821
原创 Item19笔记
在设计class的应该考虑的事情是:1.构造函数和析构函数;2.初始化和赋值会有什么行为;应该就是成员变量的初始化和赋值吧;3.定义新class的合法值,就是class内部的一些比如day,month之类的有效性处理;4.注意如果有父类,要小心copying函数的写法,如果希望被继承,那么析构函数写成虚函数;5.构造函数是否 运行隐式转换,如果不是,那么要explicit;或者
2012-10-21 21:51:16 839
原创 Item18笔记
Scott为了表明接口易用的准则,不费劳苦地把month,day都封装起来,其实用enum就可以很好地解决这个问题;另外要 使设计的类 与STL class有类似的行为,这点很好;另外 A* Create(); 写成 shared_prt Create()第一个写法的确存在很大风险,程序员必须很小心地保证资源被正确释放;第二个是很安全的,但同时也浪费了更多的内存。在实际工程
2012-10-21 20:07:07 812
原创 EffectiveC++ Item12
看来如果类比较复杂,自己写copying fun还是比较麻烦的事情:#include #includeusing namespace std;class Widget{public: Widget(int aData):m_Data(aData) { } virtual void Swap(Widget &aRhs) { int lTemp = aRhs.m_Data
2012-10-19 22:55:41 736
原创 EffectiveC++ Item11
这个item主要分析了防止对象自我赋值,利用copy-and-swap策略来解决。写了小代码,其实在实际中大部分会简单写:#include #includeusing namespace std;class Widget{public:Widget(int aData):m_Data(aData){}virtual void Swap(W
2012-10-19 22:27:15 679
转载 C/C++编译过程理解
1.首先是预编译,这一步可以粗略的认为只做了一件事情,那就是“宏展开”,也就是对那些#***的命令的一种展开,例如define MAX 1000就是建立起MAX和1000之间的对等关系,好在编译阶段进行替换。例如ifdef/ifndef就是从一个文件中有选择性的挑出一些符合条件的代码来交给下一步的编译阶段来处理。这里面最复杂的莫过于include了,其实也很简单,就是相当于把那个对应的文件里面的内
2012-10-16 21:16:45 875
原创 wireshark从命令行启动
wireshark -f "udp" -k;tshark -f "udp" -w "C:11.txt";可以保存文件,但是问题是follow udp stream只是被选中包的stream;如果想获得全部包的内容,需要了解pcap结构,写个小程序解析下!
2012-10-14 23:28:53 6188
原创 cmd命令
受不了了,记性太差;每次用命令行到指定文件的 方法 都会忘记,这次坐下记录吧:打开CMD 命令窗口依次输入:C:> E: (回车)E:>CD 文件夹名字然后继续cd E:有图有真相:
2012-10-14 21:37:42 1521
翻译 网络分析笔记
网络分析,顾名思义是一种网络内容或数据的分析,这是一种技术,通过这种技术,你可以完全掌握网络中的通讯内容,网络行为,网络传输的任何数据,从而解决网络行为管理,网络性能管理,网络安全管理,网络故障管理等问题。网络分析的价值不是去控制,而是找到问题,或发现问题。在计算机网络中,多播是从源主机通过单一链路将一条消息或信息同时传输到一组目的计算机的传输方式。复制在其他网络元素中将会自动发生
2012-10-13 10:28:14 904
原创 利用boost库获取GMT时间
boost::posix_time::time_duration::tick_type milliseconds_since_epoch(){ using boost::gregorian::date; using boost::posix_time::ptime; using boost::posix_time::microsec_clock; static
2012-10-12 23:05:23 2041
原创 CET,GMT等各种时间总结
协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治平时(GMT)。中国大陆采用ISO 8601:2000的国家标准GB/T 7408-2005《数据元和交换格式 信息交换 日期和时间表示法》中亦称之为协调世界时。这套时间系统被应用于许多互联网和万维
2012-10-12 22:54:43 5036
原创 using BOOST_FOREACH with std::map
typedef std::map map_t;map_t mmap; BOOST_FOREACH( map_t::value_type &i, mmap ) i.second++;
2012-10-12 09:22:58 1972
原创 stateCheck
在实际program中,在每一时刻都设置软件所处的状态,是一种严格控制的策略。这里简单实现了,状态检测,还需要改进:#pragma once#include std::string StateStr[5] ={ "begin","prepare","doing","done","end",}; class StateCheck{public: StateCheck():m
2012-10-09 22:27:25 1104
翻译 The problem of UDP
如果在TCP链接会比较慢,UDP链接将会有不确定性,你会用那个?然而保证UDP可靠性有很多方法,选用哪个呢?UDP传输主要有四个问题:1.数据分片:UDP数据包包含有限信息。因此,我们常常需要将信息分为多个数据包,对于疑惑的分片需要重联。因为给定分片,我们需要唯一的标定分片数目。2.UDP数据包有时会丢失。如果我们没有接受到该收到的数据包,这时需要一种重传机制。3.
2012-10-06 22:43:13 1569 1
原创 Unix网络编程 chapter5 TCP回射服务器程序winsock改写
sever:#include"WinSock2.h"#include "time.h"#include "stdio.h"#include #include #pragma comment(lib,"WS2_32")using namespace std;const int MaxLine = 1024;char lBuf[MaxLine];short gPort =
2012-10-03 22:16:02 1193
原创 win32创建子进程方法
看到网上有一个示例,我查了先关函数,做了一些注释,自己学习下:#include #include #include using namespace std;#pragma comment(lib, "WS2_32")int main() { WSAData wsaData; WSAStartup(MAKEWORD(2, 2), &wsaData); SOCKET soc
2012-10-03 17:03:39 1934
原创 unix网络编程 chapter4.11代码改写
sever显示client的IP地址和端口:#include"WinSock2.h"#include "time.h"#include "stdio.h"#include #pragma comment(lib,"WS2_32")using namespace std;const int MaxLine = 1024;int main(){ int lRet =
2012-10-03 12:18:54 1082
原创 Unix网络编程 chapter习题代码
修改原来的sever,每次只发一个字符:#include"WinSock2.h"#include "time.h"#include "stdio.h"#include #pragma comment(lib,"WS2_32")using namespace std;const int MaxLine = 1024;int main(){ int lRet = 0;
2012-10-03 10:58:52 2115
原创 Unix网络编程chapter1 示例程序改写为Winsock
Sever端:#include"WinSock2.h"#include "time.h"#include "stdio.h"#include #pragma comment(lib,"WS2_32")using namespace std;const int MaxLine = 1024;int main(){ int lRet = 0; WSADATA lWsa
2012-10-03 10:01:49 1220
原创 socket 时间查询
#include#include using namespace std;#pragma comment(lib, "WS2_32")int main(){ char lReadline[256]; int lRet = 0; WSADATA lWsaData; if ((lRet = WSAStartup(MAKEWORD(2,2), &lWsaData)) != 0)
2012-10-03 00:26:40 882
原创 winsock编程基础代码
在网上搜集的,如图unix网络编程的unp.h似的:#include #include #pragma comment(lib, "WS2_32")using namespace std;# define REQUEST_BACKLOG 5bool InitWSA( const WORD &wVersion, WSADATA *wsadata ){ int Ret = 0
2012-10-02 23:31:08 835
原创 返回引用很危险
Meters大师说的很对,如果你通过memfun将private mem以引用或者指针形式暴漏出去,那么会有承担private mem变为public的风险,也就是说其他调用可以不经你允许类里面的private mem,当然这破坏你class应有的封装性,好吧,光说不练假把式,代码说明了问题:#include #include using namespace std;class Poi
2012-10-01 22:29:46 1012
原创 EffectiveC++ Item28 test case
感觉好麻烦啊,调了半天终于可以run了,好吧,贴代码是我的风格:#include #include using namespace std;class Point{public: Point(){} Point(int x, int y):m_X(x),m_Y(y) { } int GetX()const { return m_X; } int GetY()co
2012-10-01 22:19:28 944
Oracle8i_9i数据库基础
2011-12-21
FaceTracking
2011-11-20
Efficient region segmentation through ‘creep-and-merge’
2011-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人