C++判断类是否存在

就是判断一个类型是否有被定义
比如在编译期,如果类被定义,则编译这段代码(看起来向#if)

如果是宏:

#define A
#if defined A
//code 
//被编译
#endif
#if defined A
//code 
//未被编译
#endif

但是这里要判断的是类型。以下代码

class A {};
#if defined A
//code 
//未被编译
#endif

如果不是在类型前面定义宏(比如#define A_TYPE)来判断类型是否定义(#ifdef A_TYPE)的解决方案下,该如何解决?
编译器和运行期都行。

没看懂你到底是要干什么
类定义没定义,这不是确定的吗,不是编译阶段就已经能知道的吗,为什么要去判断
难道你的类是动态定义的吗

给你的class指定一个特殊的宏,比如一个class单独放一个.h文件,宏名为文件名就可以了,这样只要你的宏有被定义就表示你的类有定义,一般大项目为了避免重复定义都是用的这个方案。

//test_class.h
#ifndef _TEST_CLASS_H
#define _TEST_CLASS_H
class A {
    A() {};
    ~A() {};
};
#endif 

例如上面的代码,就可以保证你的项目中一定会有A类的定义,并且只会定义一次。你也可以通过判断_TEST_CLASS_H这个宏是否被定义来看你的A是否定义