gpt4 book ai didi

c++ - 如果通过两个包含文件间接包含一个类,是否会有类重定义?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:57 25 4
gpt4 key购买 nike

如果我在classB.h和classC.h中包含了类定义文件classA.h,那么如果classD.h同时包含了classB.h和classC.h,是否会出现类重定义?

最佳答案

前提是你正确使用include guards ,这应该不是问题。特别是,如果您确保 #include-ing 同一文件两次是幂等的(#include-ing 同一 header 两次与 #include-ing 一次),那么这不会导致问题。当classD.h 包含classB.h 时,它将包含classA.h。当它随后尝试包含 classC.h 并且 classC.h 尝试包含 classA.h 时,什么也没有发生。不过,这很好,因为 classC.h 可以看到 classA.h,因为它已经包含在内。

关于c++ - 如果通过两个包含文件间接包含一个类,是否会有类重定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4917506/

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