gpt4 book ai didi

c++ - 类成员函数声明疑问

转载 作者:太空狗 更新时间:2023-10-29 23:08:57 25 4
gpt4 key购买 nike

我正在阅读 C++ 教程,我遇到了这句话:

The only difference between defining a class member function completely within its class or to include only the prototype and later its definition, is that in the first case the function will automatically be considered an inline member function by the compiler, while in the second it will be a normal (not-inline) class member function, which in fact supposes no difference in behavior.

我知道内联函数是什么,我的疑问是选择哪种样式。我应该在类内还是类外定义每个函数?也许最简单的函数在里面,另一个在外面?
我担心在类中定义每个函数(即具有复杂的内联函数)可能会弄乱生成的代码并在执行期间引入调试问题或奇怪的行为。最后,还有“编码风格”问题。所以,
哪种方法更好?

谢谢你:)

最佳答案

我的风格:有时我会在类本身中放置非常短的(一两个线性)函数。我仍然希望作为内联函数的任何更长的时间都在类定义之后作为 inline 合格的实现,并且通常在一个单独的文件中,标题 #include 位于类定义。

将内联函数放在类外部的理由是,某些函数的实现通常只会妨碍人类读者对类的整体理解。一个 20 行的函数通常可以用一行注释来概括——当您阅读类定义时,该注释就是所需要的全部内容。如果您需要更多,请转到函数定义,或者更好的是,阅读 The Fine Documentation。 (期望有人阅读 F*** 代码并不能很好地替代精美的文档。)

关于c++ - 类成员函数声明疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7373965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com