gpt4 book ai didi

c++ - 有什么办法可以在C++中 “uninclude”文件?

转载 作者:行者123 更新时间:2023-12-03 09:51:41 25 4
gpt4 key购买 nike

我有一个仅在另一个类的一个特定部分中使用的类。主类的其他任何部分均未提及。我在文件顶部包含了相应的标题。
使用完头后,是否有任何方法可以“取消包含”头?
我的意思是,在您将类的标题“取消包括”之后,将不会定义对该类的引用,并且对该类的任何调用在编译时都将引发错误。
伪代码:

// code section where "cubeData" should be visible
#include "CubeData.h"

void mainWidget::createGeoObjects() {
cube = new cubeData();
// ...
}

// #uninclude "CubeData.h" - ???
//
// code section where "cubeData" should be invisible
void mainWidget::otherFunction() {
cube = new cubeData(); // should result in a compile error
// ...
}

最佳答案

在文件开始时已包含头的代码文件中途取消包含头的效果,应该是因为后半部分的代码的作用就好像未包含头一样。
这可以通过将代码文件分为两部分来实现。
第一部分包括有问题的标题(可能还有其他一些标题)。
第二部分不包含 header (再次包含其他 header ,以使它们的内容已知)。
您可能必须将前半部分中需要在后半部分中可见的所有内容放入新的 header 中,并将其同时包含在这两部分中。
因此,简而言之,创建两个代码文件,然后将您需要的内容包含在其中。特别是不要包含您不希望看到的内容。

关于c++ - 有什么办法可以在C++中 “uninclude”文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65431310/

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