请问,如下两种声明方法有什么不同呢?
//方法1
class Member{
int i;
public:
int geti() const;
};
inline int Member::geti() const
{
return i;
}
//方法2
class Member{
int i;
public:
int geti() const {return i;};
};
谢谢大家,帮我顶顶吧
问题点数:20、回复次数:5Top
1 楼JohnTitor(贱畜)回复于 2006-05-04 18:51:19 得分 3
没有不同把Top
2 楼MagicCarmack(MagiC++)回复于 2006-05-04 19:01:38 得分 3
方法1那样要注意实现部分所处的位置
Top
3 楼longituder(大G)回复于 2006-05-04 19:04:50 得分 3
都是内联,一样的Top
4 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2006-05-04 19:31:25 得分 6
在类里定义的函数默认就是内联.
但是内联只是一种请求,最终的决定权在编译器.
就楼主这种情况来说,两种方式完全一样
仅仅是定义的位置不同而已
Top
5 楼lonelyforest(一生所爱)回复于 2006-05-04 19:34:45 得分 5
区别不大;;
记住:
1.定义在类定义内的函数都是 inline;
2.定义在外部,但是加了 inline 的内成员函数不一定是 inline;Top




