C/C++中关于typedef的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:31:16
我想问一下关于typedef的问题!
首先对于#define,有如下情况:
我可以用#ifdef来判断是否已经定义了一个宏,然后用#undef来解除这个宏!

但是typedef要如何做(判断一个类型是否已经定义,并解除原定义)?
我有一个程序是这样的!
在头文件中:
typedef int INT24;
typedef long INT32;
typedef unsigned int UINT24;
typedef unsigned long UINT32;

然后在我的c文件中,加入了#include <windows.h>
大家都知道,在VC中,INT32被定义为了int,UINT32被定义为了unsigned int,但是我想让INT32变成我自己的long,UINT32变成unsigned long!

我如何做才能判断是否已经定义了某些类型,比如INT32,然后解除原定义,重新定义成我自己的类型??
能否解除原定义不呢?

这个不用判断
没有的话肯定编译不通过

没有办法解除
即使能解除,解除了那也编译不过啊

is_typedef() 用于判断
解除应该不能

解除是不行的,你可以试试用typeof来获取一个标识符的类型