目标C "@class MyClassName"的C++等价物是多少?

What is the C++ equivalent of Objective C "@class MyClassName"?

本文关键字:等价物 多少 C++ @class MyClassName 目标      更新时间:2023-10-16

在Objective-C类的头中,我使用@class MyClassName可以在定义的类中使用MyClassName对象。

在Objective-C中,@class MyClassName#import MyClassName.h之间有区别吗?

C++中是否存在这样的差异?

#import "MyClassName.h"的C++等价物是#include "MyClassName.h"

Objective-C @class MyClassName的C++等价物是什么?

c++中的正向声明看起来很相似-只需从obj-c变体中删除"@":

class MyClassName;
是的,C++中也有这样的区别。在C++中,它被称为正向声明。您转发声明一个类,如:
class ClassName;

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

#import "MyClassName.h的C++等价物不是#include "MyClassName.h"

"#import"还防止循环包含在c++中我们通常执行的文件

#ifdef __abc.h__
#define __abc.h__
//actual code

#endif