Inside C++
文章平均质量分 61
relianceslee
这个作者很懒,什么都没留下…
展开
-
函数调用约定(转)
1._stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上@和参数的字节数。 2、C调用约定(即用__cdecl关键字说明)按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于传送参数的内存栈是由调用者来维护的(正因为如此,实现可变参数的函数只能使用该原创 2006-01-11 14:21:00 · 692 阅读 · 0 评论 -
内联函数
C++中对宏的使用已经处处限制,并提倡使用内联函数。编译器对宏的处理是在预处理器阶段,然而预处理器宏存在了一些问题,比如没有安全检查,行为容易混淆。在C++中,任何在类中定义的函数自动成为内联函数,你也可以使用inline关键在在外面定义函数前面使之成为内滥函数。内联函数为何有效?对于任何函数,编译器在它的符号表中放入函数类型(即包括名字、函数原型、参数类型已经返回类型)的信息。对于内联函数,编译原创 2006-02-15 15:41:00 · 740 阅读 · 0 评论 -
虚拟函数的调用
有这么一段代码:#include using namespace std;class Base{public: virtual void display(){cout void set(){display();}};class Derived:public Base{public: void display(){cout};int main原创 2006-05-09 16:17:00 · 922 阅读 · 0 评论 -
类成员函数指针
类成员函数指针类的成员函数分为两种,一种是静态函数,另外一种是非静态函数。例如:class X{public: static void display(); bool getValue();}display()为静态函数,getValue即为非静态函数。两种函数在使用的时候是不一样的。静态函数可以直接由类名来调用,而非静态函数则必须通过某一个对象来调用,例如:X::display();X x;x.原创 2006-05-15 16:03:00 · 4854 阅读 · 0 评论 -
[转贴]关于Debug和Release之本质区别
--------------------------------------本文主要包含如下内容:1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错3. 怎样“调试” Release 版的程序-------------------------------------- 关于Debug和Release之本质区别的讨论一、Deb转载 2006-08-18 11:32:00 · 1051 阅读 · 0 评论 -
C++中的enum和nested class使用简介
#include iostream>using namespace std;class A...{public: enum Sex...{ MAN=0, FEMAL }; class Result...{ public: Result(int age=1):age_(age)...{ } int getAge()..原创 2006-08-18 17:01:00 · 1541 阅读 · 0 评论