免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: andyY
打印 上一主题 下一主题

新手:inline? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-05-31 11:14 |只看该作者
对不起,纠正一下我上面的说法,inline函数必须放在头文件中的,如果你不是放在类体的声明中,那么就放在类体声明之后的头文件区域中,比如:

#ifndef __CNGRAPH_H
#define __CNGRAPH_H

class CGraph
{
private:
public:
        inline void addLink(unsigned short, unsigned short);
};

void CGraph::addLink(unsigned short a, unsigned short b)
{
}

#endif

论坛徽章:
0
12 [报告]
发表于 2006-05-31 11:17 |只看该作者
原帖由 tyc611 于 2006-5-31 10:45 发表

可以这样理解,inline告诉编译器将函数调用展开成相应函数实现代码,也就是说经处理后的代码不再有函数调用,所以在在每个调用内联函数的文件中都应当能获取到函数实现的代码,所以要将inline函数放到头文件中。 ...

如果这样,inline的函数体应该包含在头文件里include,不能放到实现的CPP里。这样吗?

论坛徽章:
0
13 [报告]
发表于 2006-05-31 11:20 |只看该作者
还是学习不够,c++faq说得很清楚。
多谢大家。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP