gpt4 book ai didi

头文件中的 C++ 空接口(interface)析构函数

转载 作者:行者123 更新时间:2023-11-30 01:26:17 24 4
gpt4 key购买 nike

在 C++ 中,我有一个头文件 I.h 定义了一个空的抽象类(接口(interface))虚拟析构函数:

class I
{
public:

virtual ~I() {}
};
  • 问题 1:空析构函数的目标代码是否会在包含 I.h 的每个 .cpp 文件的目标文件中生成?
  • 问题 2:如果问题 1 的答案是肯定的,这会不会是一个问题(不同对象文件中的相同方法)?

最佳答案

不,不会。在类定义中定义的方法会自动内联,因此无需担心。

请注意,标记为 inline 的方法与实际在二进制文件中内联的方法是不同的。 inline 只是一个标记(充其量是编译器提示)。尤其是 virtual 函数。无论方法是否标记为 inline,多态性都保证有效。

关于头文件中的 C++ 空接口(interface)析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10832442/

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