Maw*_*awg 9 c variadic-functions
我有一些看起来像这样的代码:
uint8_t activities[8];
uint8_t numActivities = 0;
...
activities[numActivities++] = someValue;
...
activities[numActivities++] = someOtherValue;
...
switch (numActivities)
{
0 : break;
1 : LogEvent(1, activities[0]); break;
2 : LogEvent(1, activities[0], activities[1]); break;
3 : LogEvent(1, activities[0], activities[1], activities[2]); break;
// and so on
}
Run Code Online (Sandbox Code Playgroud)
其中LogEvent()是一个varargs函数.
有没有更优雅的方式来做到这一点?
[更新] Aplogies @ @ 0x69等.我没有说,有很多情况下LogEvent()无法将数组作为参数.抱歉.