gpt4 book ai didi

c++ - 前向声明和使用一步到位

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:40 24 4
gpt4 key购买 nike

作为一种优化,或者为了避免包含循环,可以向前声明一个类型,这导致代码如下:

class A;

class B
{
A *a;
};

如果前向声明的数量变大,它会占用头文件顶部的大量空间。有没有办法同时向前声明和使用?有点像:

class B
{
extern A *a;
};

我以前从来没有真正考虑过这个问题,但我有一个带有一堆前向声明的 header ,我想让它更整洁(不要将它们移到另一个包含文件中)。

编辑:我将“a”更改为指针,因为有人正确地指出您只能对指针和引用使用前向声明。

最佳答案

您的要求并不完全清楚,但是,如果我理解正确,您可以在同时声明您的变量:

class B
{
class A* a; // declaring A as class is an in-place forward declaration
};

你是这个意思吗?

关于c++ - 前向声明和使用一步到位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759201/

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