typedef类的前向声明

罗斯兰(Ruslan F.)

例如,我们有一个带有其ptr typedefed的类

class Foo
{
    ....
};
typedef shared_ptr<Foo> FooPtr;

是否可以转发声明FooPtr目的是避免在FooPtr定义中包含标头

更新1我尝试了另一个代码
。h

class FooPtr;
calss A
{
    .....
    FooPtr m_pFoo;
    .....
}

编译器错误

Foo.h: error C2371: 'FooPtr' : redefinition; different basic types
1>         another.h(7) : see declaration of 'FooPtr'
马特乌斯·格热耶克(Mateusz Grzejek)

是的,应该完全有可能,因为它shared_ptr被设计为指针的安全版本,并且允许使用指向不完整类型的指针(就像引用一样)。

因此,可以的,您可以删除此依赖关系,并Foo使用简单的前向声明替换(或包括其标头)主体

class Foo;
typedef shared_ptr<Foo> FooPtr;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

typedef类的前向声明

来自分类Dev

typedef的前向声明

来自分类Dev

typedef 到原始类型的前向声明

来自分类Dev

类中的C ++前向声明类

来自分类Dev

具有前向声明的C结构typedef

来自分类Dev

如何实现模板类的前向声明

来自分类Dev

C ++类方法前向声明

来自分类Dev

模板类C ++的前向声明

来自分类Dev

前向声明类指定大小

来自分类Dev

使用前向声明类中的友元函数前向声明的单例类

来自分类Dev

类没有构造函数前向声明

来自分类Dev

Objective-C类扩展方法的前向声明

来自分类Dev

C ++ 17是否允许嵌套类的前向声明?

来自分类Dev

类中的枚举前向声明是否可能?

来自分类Dev

如何解决这个前向类声明问题?

来自分类Dev

类/结构设计;继承与前向声明

来自分类Dev

类的前向声明导致不完整的类型错误

来自分类Dev

尝试访问“常量类LHContactInfo”时的前向声明错误

来自分类Dev

QDate 类的前向声明给出错误

来自分类Dev

使用前向声明的类重定义问题

来自分类Dev

将前向声明的类作为列表模板的引用

来自分类Dev

带有模板化代码的前向声明类

来自分类Dev

在模板基类的虚函数中使用前向声明的类,其中构造函数仅需要前向声明?

来自分类Dev

C++(和 ROS) - 包含与使用 set default 和 typedef 引用的前向声明

来自分类Dev

C ++类依赖的typedef在类外部声明

来自分类Dev

使用类作为带有前向声明的模板化类的模板参数

来自分类Dev

两类间的类间转换(C ++)-前向声明?

来自分类Dev

C ++前向声明类在嵌入类中的一个朋友函数

来自分类Dev

如何在不与好友或声明指针友好的情况下在类主体中前向声明未嵌套的类

Related 相关文章

热门标签

归档