removeAll
- это команда для условного удаления.
var array = [25,45,69,78,63]
array.removeAll{[110] == 78}
print(array)
//[25, 45, 69, 63]
Действительно, есть такой инструмент, компилятор Comeau C ++. , Он сгенерирует C-код, который вы не можете поддерживать вручную, но это не проблема. Вы будете поддерживать код C ++ и просто конвертировать в C на лету.
http://llvm.org/docs/FAQ.html#translatecxx
PS: у меня нет использовал это вообще. дайте мне знать, если это работает.
В то время как вы можете сделать OO в C (например, добавив theType * этот первый параметр
в методы и ручная обработка чего-то вроде vtables для полиморфизма) это никогда не будет особенно удовлетворительным как дизайн, и будет выглядеть уродливо (даже с некоторыми взломами препроцессора). как это сработает.
В целом, многое зависит от ответа на ключевой вопрос: если у вас работает код на C ++, почему вы хотите использовать C?