首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >local #includes

local #includes
EN

Stack Overflow用户
提问于 2011-01-16 00:45:30
回答 5查看 2.6K关注 0票数 4

有没有一些方法可以在本地包含标准的东西(对于一个函数,一个类,等等...一次)而不是全局的。举一个非常简单的例子,你可能想要使用std::string,但它只在一个类中需要,并且你不希望它的开销存在于所有地方。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-16 00:48:18

您可能应该将需要#include的类移动到一个单独的文件中,而不是将其设置为本地。

票数 7
EN

Stack Overflow用户

发布于 2011-01-16 00:49:50

由于#include只是一种编译前的文本替换(由preprocessor),所以这只是一个将include语句放在哪里的问题。

您可能将“本地”称为“只在一个.cpp文件中”,而将“全局”称为“在所有.cpp文件中”。

如果是这样,您可以通过仅在.cpp文件中包含所需位置来将#include设置为“本地”。如果要在多个文件中包含具有一条#include语句的文件,请将include语句放入.h文件中,并将该.h文件包含在所有必需的文件中。

创建“全局”#include的一个好地方是充当precompiled header的.h头文件。

票数 3
EN

Stack Overflow用户

发布于 2011-01-16 00:57:58

做你想做的事情的一种方法是使用像class IMPL这样的嵌套类,并使用指向该类的指针作为类中的成员。您可以在单独的文件中定义和实现该your_class::IMPL。这样你就实现了完全的数据隐藏。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4700786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档