2
我正在使用我的C99代碼中P99中定義的P99_FOR宏來遍歷VA_ARGS。它完美的作品。C++中的P99_FOR 11
P99_FOR(NAME, N, OP, FUNC,...)
現在我想遷移到C++ 11,我想知道是否有任何宏觀相似P99_FOR。
這是我在C99代碼:
#ifndef __cplusplus
#include "p99/p99.h"
#undef P00_VASSIGN
#define P00_VASSIGN(NAME, X, I) NAME[I] = X
#define FOREACH(x, y, z, u, ...) P99_FOR(x, y, z, u, __VA_ARGS__);
#else
#define FOREACH(x, y, z, u, ...) ??? // C++ equivalent
#endif
#define set_OCTET_STRING(type, numParams, ...) { \
FOREACH(type, numParams, P00_SEP, P00_VASSIGN, __VA_ARGS__); \
}
例如set_OCTET_STRING(myVar->speed, 3, 34, 10, 11)
將擴大到:
myVar->speed[0] = 34; myVar->speed[1] = 10; myVar->speed[2] = 11;
你在尋找類似[這(在va_arg-DOC)](http://en.cppreference.com/ W/CPP /實用/可變參數/在va_arg)?或者你正在尋找這個更簡單的版本? – TobiMcNamobi
我已經知道va-arg了。我不想使用任何功能。 – ManiAm
請向我們展示一些[示例代碼](https://stackoverflow.com/help/mcve)。 – TobiMcNamobi