指针在c++预处理中的使用

Using Pointer in PreProcessing in C++

本文关键字:预处理 c++ 指针      更新时间:2023-10-16

我有一个指针,我保持一个sdl窗口的窗口宽度。我需要将它与预处理器函数一起使用。

I can do:

#define something *ScreenWidth

但我不能:

#if *ScreenWidth < 900

#if something < 900

我知道*在预处理器中是不允许的,但我需要每帧获得ScreenWidth并相应地做"#define"。有办法吗?

在编译过程中没有办法知道屏幕宽度,所以你不能#define它。如果你有这样的问题,你应该考虑重新设计你的代码,这样它就可以在初始化步骤中获得屏幕宽度,并将其存储在某个全局变量中。根据Scott Meyers的说法,你应该总是喜欢编译而不是预处理。