Есть ли что-то вроде метода / функции Sentinels в C ++ / C?

StackOverflow https://stackoverflow.com/questions/4111855

  •  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, чтобы найти последний реальный аргумент.

Другие советы

Я думаю, что вы ищете, это Вараргс.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top