10 2011 档案
关于操作符的友元模版函数重载
摘要:这几天学着用C++ 模版(Genetic programming)写程序,碰到一个很纠结的问题。描述如下: 通常情况下,我喜欢重载operator<<()用来输出类内部的信息,以方便调试。例如: class A{public: A(string value): data(value){} friend ostream& operator<< (ostream & out, const A& m...
阅读全文
cl + Visual Studio调试器
摘要:在学习c++时,我喜欢写一些小程序,以验证某个想法的正确与否。这些小程序通常只有一两个cpp文件和几个头文件,用Visual Studio提供的cl.exe直接在命令行中编译很方便,但是如果要调试或者只是看一下运行时的反汇编信息,就比较痛苦了。 windbg看似可以解决这个问题,但是使用起来极不习惯,而建一个vs solution或者project又太麻烦了,还要消耗大约10MB的磁盘空间用来存...
阅读全文
关于NRV优化
摘要:在C++中,函数返回整数或指针是通过eax寄存器进行传递的,理解起来比较简单。 但是返回对象或结构体一直是令人感到困惑的问题。今天我整理了一下,将整个返回过程写下来,以作备用。 还是先通过一个例子来理解这个问题: 首先,定义一个类Vector: class Vector{public: int x,y;};然后定义函数add()对Vector对象进行操...
阅读全文
浙公网安备 33010602011771号