指针数组的应用
摘要:#include using namespace std;char const *keyword[]={"do","for","switch","return","while"};int lookup_keyword(const char * const des,char const *keywor...
阅读全文
对象个数以及构造函数次序
摘要:当创建派生类对象时,构造函数的执行次序是 基类构造函数 对象成员构造函数 派生类构造函数,不信看代码#include using namespace std;class A{public: A() { cout<<"A"<<endl; }};class C{public:C...
阅读全文
字符串处理常用函数
摘要:#include using namespace std;int main(){ char message1[]="Original message"; strcpy(message1,"different");//different0essage0 cout<<message1<...
阅读全文
自加++
摘要:i++使用后加1++i使用前加1那么 int a=++i + ++i;是怎么样计算的呢?++i;++i;a=i+i=2+2=4;而i++是如何计算的呢a=i++ + i++;先执行a=i+i;然后i++;i++;让我们看下面的代码// 例1#include #include using namesp...
阅读全文
继承权限问题
摘要:继承权限分为public protected private,其权限见下表: 特征 公有继承 保护继承 私有继承 父类公有成员继成 派生类公有成员 派生类保护成员 派生类私有成员父类保护成员继成 派生类保护成员...
阅读全文
父类子类指针相互转换问题
摘要:1.当自己的类指针指向自己类的对象时,无论调用的是虚函数还是实函数,其调用的都是自己的:2.当指向父类对象的父类指针被强制转换成子类指针时候,子类指针调用函数时,只有非重写函数是自己的,虚函数是父类的;3.当指向子类对象的子类指针被强制转换成父类指针的时候,也就是父类指针指向子类对象,此时,父类指针...
阅读全文
函数指针用法(回调函数)
摘要:#include #include using namespace std;int sub(int a,int b){ return a+b;}int mul(int a,int b){ return a*b;}int di(int x,int y){ assert(y!=0); ...
阅读全文
大端小端问题
摘要:原文http://www.cnblogs.com/firing/articles/1996670.html开头讲个有关大端小端的故事: 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归...
阅读全文
深入理解引用
摘要:原文地址http://blog.csdn.net/webscaler/article/details/6577429关于引用和指针的区别的文章很多很多,但是总是找不到他们的根本区别,偶然在codeproject上看到这篇文章,觉得讲的挺好的,所以翻译了下,希望对大家有帮助。原文地址: http://...
阅读全文
自增运算深入
摘要:++a=8;++a可以当做左值使用,a++=8;错误 不可以当做左值使用#includevoidmain()/*主函数*/{inta,b,c,d;a=5;b=5;c=(a++)+(a++)+(a++);d=(++b)+(++b)+(++b);printf("a=%d,b=%d,c=%d,d=%d\n...
阅读全文
const
摘要:const 可以理解为read-only在C中用于定义静态变量、修饰函数的参数或者返回值在C++中用于修饰函数的定义、定义类的成员函数一般而言const有以下几个作用:1.定义常量2.类型检查、保护被修饰的东西 void fun(const int i) 那么形参就是不可变的3.和宏定义一样 避免模...
阅读全文
static
摘要:static 应用大全C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为...
阅读全文
预处理ifndef
摘要:#ifdef 详解这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形...
阅读全文
原码补码反码
摘要:作者:张子秋出处:http://www.cnblogs.com/zhangziqiu/本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学...
阅读全文
C/C++ 内存分类与注意事项
摘要:五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制...
阅读全文
C++中各种容器的类型与特点
摘要:1、vector 连续存储结构,每个元素在内存上是连续的; 支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;2、deque 连续存储结构,即其每个元素在内存上也是连续的,类似于vector,不同之处在于,deque提供了两级数组结构,第一级完全类似于v...
阅读全文
最简单的DLL
摘要:静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。 下面就是一个简单地动态链接库生成以及应用: 首先,在(VS2010)新建一个(Win32 Console Application)项目,点击OK;其次,选择DL...
阅读全文
C/C++ 编译和链接过程
摘要:c++基础知识请见http://www.cnblogs.com/kzloser/archive/2012/07/02/2570887.html详解link 有些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external sim...
阅读全文