C++ 什么是正确的方法来向前声明指向类的指针,以便在类声明中使用?
比如说,C++ 什么是正确的方法来向前声明指向类的指针,以便在类声明中使用?,c++,class,forward-declaration,C++,Class,Forward Declaration,比如说, class Segment { friend bool someFunc( P_Segment p ); }; typedef boost::shared_ptr<Segment> P_Segment; 类段 { friend-bool-someFunc(P_段P); }; typedef boost::共享ptr P_段; 如何最好地声明p_段以便编译?在这种情况下,您没有选择,因为您无法转发声明typedef。您必须转发声明的段类 c
class Segment
{
friend bool someFunc( P_Segment p );
};
typedef boost::shared_ptr<Segment> P_Segment;
类段
{
friend-bool-someFunc(P_段P);
};
typedef boost::共享ptr P_段;
如何最好地声明p_段以便编译?在这种情况下,您没有选择,因为您无法转发声明typedef。您必须转发声明的
段
类
class Segment;
typedef boost::shared_ptr<Segment> P_Segment;
class Segment
{
friend bool someFunc( P_Segment p );
};
类段;
typedef boost::共享ptr P_段;
类段
{
friend-bool-someFunc(P_段P);
};
在这种情况下,您别无选择,因为您无法向前声明typedef。您必须转发声明的段
类
class Segment;
typedef boost::shared_ptr<Segment> P_Segment;
class Segment
{
friend bool someFunc( P_Segment p );
};
类段;
typedef boost::共享ptr P_段;
类段
{
friend-bool-someFunc(P_段P);
};
向前声明类,然后向前声明智能指针(共享\u ptr可以接受不完整的类型):
类段;
typedef boost::共享\u ptr段\u ptr;
类段
{
friend bool someFunc(段p);
};
向前声明类,然后向前声明智能指针(共享\u ptr可以接受不完整的类型):
类段;
typedef boost::共享\u ptr段\u ptr;
类段
{
friend bool someFunc(段p);
};
另一种方法是使typedef成为类的成员:
class Segment
{
typedef boost::shared_ptr<Segment> pointer;
friend bool someFunc( pointer p );
};
类段
{
typedef boost::共享_ptr指针;
friend-bool-someFunc(指针p);
};
这会改变您访问它的方式当然,您不必在类之外使用
段::指针。另一种方法是使typedef成为类的成员:
class Segment
{
typedef boost::shared_ptr<Segment> pointer;
friend bool someFunc( pointer p );
};
类段
{
typedef boost::共享_ptr指针;
friend-bool-someFunc(指针p);
};
这会改变你访问它的方式。当然,你不必在课堂外使用Segment::pointer
。其他人所说的没有错,只是为了另一个选择:
class Segment
{
public:
typedef boost::shared_ptr<Segment> P_Segment;
friend bool someFunc( P_Segment p );
};
using Segment::P_Segment;
类段
{
公众:
typedef boost::共享ptr P_段;
friend-bool-someFunc(P_段P);
};
使用段::P_段;
其他人所说的没有错,只是为了另一个选择:
class Segment
{
public:
typedef boost::shared_ptr<Segment> P_Segment;
friend bool someFunc( P_Segment p );
};
using Segment::P_Segment;
类段
{
公众:
typedef boost::共享ptr P_段;
friend-bool-someFunc(P_段P);
};
使用段::P_段;
谢谢大家,我只是想确保看起来不那么优雅的旋转是必要的。谢谢大家,我只是想确保看起来不那么优雅的旋转是必要的。