
探索C++
lcs1980
这个作者很懒,什么都没留下…
展开
-
const探索
一:常引用 int nData1 = 100; int nData2 = 200; const int &nRef = nData1; //int &nRef = nData1; nRef = nData2;//编译出错这样可以防止引用被更新,如果你采用被注释掉的定义,引用就可能不小心被更新了,并且nData1的值也变了。在实际应用中,常指针和常引用往往用来作函数的形参原创 2006-03-22 14:35:00 · 674 阅读 · 0 评论 -
数组作函数形参
运行这段代码之前分析一下结果,看是否和分析结果相同。void SizeofArrayParameter( char str[] ){ cout while(* str != /0) { cout ++str; }}结论:数组:一种自定义的数据类型,数组名的值就是这个数组的开始位置,但是它是个常量;特殊情况:作为函数形参时,在函数体内,其失去了本身的内涵,仅仅只是一个原创 2006-03-22 14:22:00 · 1103 阅读 · 0 评论 -
类的static成员
类static成员的两个问题: 如果需要在一个类的各个对象间交互,即需要一个数据对象为整个类而非某个对象服务,这个时候常用类成员来解决问题。1、静态数据成员要在类外定义。class TestStatic{public: TestStatic():m_nomalData(20){}; static int TestStaticFunction(TestStatic obj);private: sta原创 2006-03-22 16:28:00 · 1070 阅读 · 1 评论 -
虚函数表例解
/*C++编译器在编译时刻创建了所有必需的虚函数表。并且,每个虚函数表中的项都已经填充了恰当的值(指向了正确的函数入口)。如果子类实现了某个虚函数,当把子类对象指针赋值给父类对象指针时,那么这个函数入口地址就会被子类的函数地址覆盖。*/#include "stdafx.h"#include using namespace std;class Base{public: virtual原创 2006-03-24 14:26:00 · 1098 阅读 · 0 评论 -
_cdecl stdcall pascal 区别
_cdecl 按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于“C”函数或者变量,修饰名是在函数名前加下划线。对于“C++”函数,有所不同。 如函数void test(void)的修饰名是_test;对于不属于一个类的“C++”全局函数,修饰名是?test@@ZAXXZ。 这是MFC缺省调用约定。由于是调用者负责把参数弹出栈,所以可以给函数定义个数不定的参数,如printf函数。 std原创 2006-04-11 15:12:00 · 3229 阅读 · 0 评论