Есть ли что-то вроде метода / функции Sentinels в C ++ / C?
-
29-09-2019 - |
Вопрос
В Objective-C вы можете сказать что-то вроде:
NSArray *anArray = [NSArray arrayWithObjects:obj,obj2, nil];
Если вы не знакомы с Objective-C, я хочу, чтобы я хочу объект типа NSArray, Anarray, и я хочу назвать метод ArrayWithObjects, а затем он действует как стражи и принимает столько же параметров (которые в данном случае Объекты), пока не достигнет нуля.
Есть ли способ достичь чего-то вроде этого:
createObjects(o1,o2,o3,o4,-1);
Где метод функции может принять как можно больше параметров, пока не достигнет некоторого ключевого значения?
Теперь я знаю, что вы можете сделать Sentinel Parts в C и C ++, но есть ли способ предоставить что-то вроде этого метода, как они делают в Objective-C?
Решение
Вы можете написать Вариадическая функция и используйте Sentinel, чтобы найти последний реальный аргумент.
Другие советы
Я думаю, что вы ищете, это Вараргс.