我有以下C++代码:
Some_class * temp1 = findTemp1(...); // returns NULL or a valid pointer
Some_class * temp2 = findTemp2(...); // returns NULL or a valid pointer
Some_class * temp3 = findTemp3(...); // returns NULL or a valid pointer
Run Code Online (Sandbox Code Playgroud)
现在我想计算其中有多少返回了一个有效的指针(0,1,2或3).
我能想到的唯一方法就是逐一测试它们:
int count = 0;
if (temp1)
count++;
if (temp2)
count++;
if (temp3)
count++;
Run Code Online (Sandbox Code Playgroud)
对于三分球,它并不是太糟糕,但它不能很好地扩展.假设我没有重新定义findTempN函数(可能在计数器中传递),是否有更有效的方法?
非常感谢您的快速回复!不,我不会改变代码,我只是想知道我的其他选择是什么.我也意识到如果我使用这样的不同文字来定义3个指针,我就不能要求"可扩展"的东西.当然,我没有想到你回复的事情:)