C++ 什么是C++;相当于目标C“@类MyClassName";?

C++ 什么是C++;相当于目标C“@类MyClassName";?,c++,objective-c,cocoa,import,include,C++,Objective C,Cocoa,Import,Include,在Objective-C类的标题中,我使用@class MyClassName能够在定义的类中使用MyClassName对象 在Objective-C中,@class MyClassName和#import MyClassName.h之间存在差异 < C++ > 是否存在这样的差异? > C++的等价于导入的“MyCyraseNo.h”< /C> >代码> >包含“MyCyraseNo.h”< /C> > /P> < C++ > Objul-C @类MyCype NoS> ?< /P> < P

在Objective-C类的标题中,我使用
@class MyClassName
能够在定义的类中使用
MyClassName
对象

在Objective-C中,
@class MyClassName
#import MyClassName.h
之间存在差异

< C++ >

是否存在这样的差异?
<> > C++的等价于<代码>导入的“MyCyraseNo.h”< /C> >代码> >包含“MyCyraseNo.h”< /C> > /P>
< C++ > Objul-C<代码> @类MyCype NoS> <代码>?< /P> < P> C++中的正向声明看起来类似——只从Obj-C变体删除“@”:

class MyClassName;

<>是的,C++中也有这样的区别。在C++中,它被称为向前声明。您可以向前声明一个类,如:

class ClassName;

只是为了添加额外的信息,当您在声明类之前使用类时,会使用前向声明。编译器会稍微宽容一点,不会抛出错误,但它以后仍然需要完整的类声明

< P> C++的等价于<代码>导入的“MyCyraseNo.H./COD>”不是<代码>包含“MyCyraseNo.h”< /C> >/P>

“导入”也防止了C++中通常包含的

文件的循环包含。
#ifdef __abc.h__
#define __abc.h__

//actual code


#endif