摘要:
寄存器 八个通用寄存器: AX BX CX DX SP BP SI DI 他们不仅仅是通用寄存器,还有特殊的用途,名字就是他们特殊用途的缩写,后面加 x 是为了好看,x 本身没有含义 AX ==> add 累加器,做加法时使用AX寄存器比较快 AX = AX + BX 快于 BX = BX + CX 阅读全文
摘要:
bind绑定器和function函数对象 bind1st和bind2nd什么时候使用 在c++ STL中提供了泛型算法 #include <iostream> #include "vector" #include <functional> //包括了函数对象 #include "algorithm" 阅读全文
摘要:
尽量使用const,enum,inline替换 #define 因为,#define 替换发生在预处理阶段,编译器对这个替换内容就缺少了类型检测,并且不利于错误信息的查看 编译器再声明数组时必须知道数组的大小,而不是使用一个变量,我便有了如下测试 枚举类型做数组大小(在类中做成员) class Ga 阅读全文
摘要:
案例简述 在某项目中,需要使用两个不同版本的HCNetSDK库,我们通常使用的静态加载DLL的方式不能满足该需求,故用到动态加载DLL的方式。 背景技术及术语解释 静态加载:也称隐式调用,指在运行程序之前由操作系统的加载器将DLL和EXE一起加载到内存里。注意这里与程序的静态链接区别开来,静态链接发 阅读全文
摘要:
练习题 2.31 补码溢出的判断 int tadd_ok(int a;int b) { int neg_over = a>0 && b>0 && a+b<0; int pos_over = a<0 && b<0 && a+b>0; return !neg_over &&pos_over; } 你的同 阅读全文
摘要:
对象被优化后c++才是高效的 对象使用过程中背后使用哪些方法 class test { public: test(int a=10) : ma(a){cout<<"test()"<<endl;} ~test(){cout<<"~test()"<<endl;} test(const test& t) 阅读全文
摘要:
c++语言级别的类型转换 const_cast:去掉常量属性的一个类型转换 static_cast:提供比编译器认为安全的类型转换 reinterpret_cast:提供C风格的强制类型转换 dynamic_cast:主要在继承结构中,可以支持RTTI类型识别的上下类型转换 const_cast i 阅读全文
摘要:
多种继承那些事 理解虚基类和虚继承 抽象类:有虚函数的类 虚基类:被虚继承的类就称作虚基类 虚继承中派生类发生的内存变化 虚继承与多态相结合 class A { public: virtual void func(){cout<<"Base::func"<<endl;} private: int m 阅读全文
摘要:
继承和多态 继承的基本意义: 继承的内存结构: class A { int a; int b; int c; }; class B:public A { int d; int e; int f; }; int main() { //std::cout << "Hello, World!" << st 阅读全文
摘要:
运算符重载 运算符重载的好处:使运算符的表现和编译器内置类型一样 复数类的实现: class CComplex { public: CComplex(int r=0,int m=0) :mimage_(m),mreal_(r) { cout<<"CComplex(int r=0,int m=0)"< 阅读全文