递增定义?

use*_*821 4 c++ visual-studio-2008

每次使用时都有定义增量吗?

例如

int a = ADEFINE;
int b = ADEFINE;

a是1,b是2.

GMa*_*ckG 11

你可以使用__COUNTER__,虽然它不是标准的.MSVC++和GCC都支持它.


如果可以使用boost,则预处理器库具有计数器的实现.以下是文档中的示例:

#include <boost/preprocessor/slot/counter.hpp>

BOOST_PP_COUNTER // 0

#include BOOST_PP_UPDATE_COUNTER()

BOOST_PP_COUNTER // 1

#include BOOST_PP_UPDATE_COUNTER()

BOOST_PP_COUNTER // 2

#include BOOST_PP_UPDATE_COUNTER()

BOOST_PP_COUNTER // 3
Run Code Online (Sandbox Code Playgroud)

(Kudo's to gf)