注册 登录
编程论坛 C++教室

关于内联函数的问题

智奇CC 发布于 2009-09-10 15:18, 611 次点击
在类中,构造函数与它的定义在同一行即视其为内联函数,如:

void func(int a){x=a;}

那么下面这样写还是内联函数吗?如:

void func(int a)
{
    x=a;
}

还有,在类外定义的不属于类的函数这样编法也属于内联函数吗??
以上都是在没用inline的前提下..

望解答一下,谢了,
5 回复
#2
aoaoafei2009-09-10 17:13
void func(int a){x=a;}这样写也不是内联函数啊。。必须加关键字inline,内联函数就是将函数复制到程序里面,不存在进栈和出栈。。
#3
智奇CC2009-09-10 18:45
不是吧??那我得再研究研究了,,,
#4
智奇CC2009-09-12 21:56
在类中那样定义是默认为内联函数的,我看范磊的C++教程,他是这样讲解的,他还要求如果定义部分比校大的话就在类中声明,类外定义,,有高手能彻底解答一下吗???(声明,当中的x为类的私有成员)

[ 本帖最后由 智奇CC 于 2009-9-12 22:02 编辑 ]
#5
MainRed2009-09-19 20:43
在类中定义的函数就是内联函数,在类外定义需加inlin,但是(任意的内联函数)如果定义的太长的话,大多数编译器会将其作为普通的函数处理,定义为内联函数只是一种期望。
#6
智奇CC2009-09-19 23:14
感谢楼上的,,
1