c – 将内联方法从头文件移动到.cpp文件
发布时间:2020-12-16 06:48:26 所属栏目:百科 来源:网络整理
导读:我在foo.h头文件中定义了以下类 class Foo {public: inline int Method();};inline int Foo::Method() { // Implementation } 我现在想将实现移动到foo.cpp文件.为此,我必须删除inline关键字并将方法的实现移动到这样的foo.cpp文件 #include `foo.h`inline i
我在foo.h头文件中定义了以下类
class Foo { public: inline int Method(); }; inline int Foo::Method() { // Implementation } 我现在想将实现移动到foo.cpp文件.为此,我必须删除inline关键字并将方法的实现移动到这样的foo.cpp文件 #include `foo.h` inline int Foo::Method() { // Implementation } 我有两个问题: >我关于删除内联关键字的声明是否正确?是否必须删除? 非常感谢你提前. 解决方法
如果将函数定义从标题移动到cpp文件,则必须删除该函数的所有所有位置的内联关键字.使用较旧的连接器可能会使事情略微变慢,但使用现代连接器时,您应该注意到性能没有真正的差异.*
在某些情况下,公共成员函数可以内联,但这只是一个坏主意.不要这样做.可以使用参数将某些私有成员函数标记为内联,但实际上您真正想要的是__attribute __((always_inline))或__forceinline *在极少数情况下,它会有所作为,但99%的时间不会,99.9%的你不在乎.如果测量显示您达到了万分之一,则可以使用前面提到的__forceinline. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |