В C Вы используете пустоту в пустой ссылке на функцию так, чтобы компилятор имел прототип, и тот прототип не имеет "никаких аргументов". В C++ Вы не должны говорить компилятору, что у Вас есть прототип, потому что Вы не можете не учесть прототип.
Эти контейнеры больше всего на вкус . У Ninject есть приятный свободный интерфейс для его настройки, но некоторым людям нравится возможность настройки Unity через конфигурацию (мазохисты, я думаю), а также через код.
У меня, как и у вас, были эти вопросы при принятии Prism, поэтому я пошел путем замены Unity на Ninject и Autofac. Я не нашел веских причин с точки зрения производительности или функций, которые можно было бы использовать вместо Unity. Есть определенные вещи, которые были хороши в обоих, но все они делали в основном одно и то же, и делали это хорошо.
Я бы посмотрел на особенности, стиль и синтаксис каждого и решил, какой из них вам больше нравится. Это действительно единственная разница ... как это ощущается . Обычно есть некоторые различия в основных функциях,
Одна из причин использовать Unity - это если вам нужно работать в среде со средним уровнем доверия. Из того, что я обнаружил, кажется, что Unity намного проще запустить, если вашему коду нет полного доверия. Я использовал несколько контейнеров IoC и Unity, когда мне нужно среднее доверие.