Каким образом C++ «Концепции» лучше или хуже, чем ObjC-протоколы и интерфейсы Java?Являются ли C++ «понятиями» такими же, как «протоколы» ObjectiveC и Java «интерфейсы»?
ответ
Прежде всего, этот ответ лучше, чем у меня: How do Concepts differ from Interfaces?
Во всяком случае, мой оригинальный, прежде чем я проверил для дубликатов:
Это немного походит на выяснение, если буханка хлеба лучше или хуже скоростной катер.
C++ «Концепция» относится к ограничениям на параметрах типа, используемых в общем-типизированных функциях и классах (шаблонов).
Протоколы и интерфейсы определяют методы, которые должен реализовать внедряющий/реализующий класс (общий или иной).
C++ уже имеет аналог протоколов и интерфейсов, которые являются классы, состоящие из ничего, но чисто виртуальные функции:
https://en.wikipedia.org/wiki/Virtual_function#Abstract_classes_and_pure_virtual_functions
Я могу видеть источник путаницы; на самом абстрактном уровне концепции, интерфейсы и протоколы связаны с определением поведения, избегая реализации; но там, где они используются на этом языке, принципиально разные, поэтому вы не можете провести реальное сравнение.
Кроме того, ваш вопрос сильно нуждается в переписывании, чтобы он имел реальный ответ, а не редактирование или размахивание руками или скотоводство или овцеводство, независимо от того, что я делаю.
Кроме того, концепции довольно рано в трубопроводе, находясь на предлагаемой стадии C++ только стандартные: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2015/n4361.pdf
«Сейчас это только понятие, но я думаю, что я могу получить деньги, чтобы сделать это в концепцию, а затем превратить ее в идею ». - Annie Hall
- 1. Являются ли протоколы Objective-c такими же, как generics?
- 2. Являются ли рамки и .NET такими же?
- 3. Являются ли они такими же?
- 4. Являются ли WPF и MVC одинаковыми понятиями?
- 5. Являются ли ++ и + = 1 точно такими же?
- 6. Являются ли n_estimators и n_features такими же?
- 7. Интерфейсы, делегаты и протоколы Objective C
- 8. Протоколы/Интерфейсы в Ruby
- 9. Являются ли они такими же? ASYNC Javascript
- 10. Как Java определяет, являются ли интерфейсы непоследовательными?
- 11. Являются ли протоколы наследуемыми в Objective-C?
- 12. Являются ли следующие два оператора c такими же?
- 13. Являются ли совместимые черты и интерфейсы совместимыми?
- 14. Являются ли указатели такими же, как глобальные переменные?
- 15. Являются ли предикатные шаблоны такими же, как готовые заявления?
- 16. Являются ли объекты домена такими же, как сущности JPA?
- 17. Являются ли классы ES6 такими же, как функции конструктора?
- 18. PHP MYSQL проверяет, являются ли данные строк такими же, как
- 19. Являются ли рабочие Javascript такими же, как потоки?
- 20. Являются ли рассказы пользователей такими же, как события Тёдона?
- 21. Являются ли семена iOS GM такими же, как конечный продукт?
- 22. Являются ли флеш-куки такими же, как http-файлы cookie?
- 23. Являются ли PHP pthreads такими же, как потоки POSIX?
- 24. Являются ли временные зоны joda такими же, как и идентификаторы часовых поясов java?
- 25. Полиморфные отношения и интерфейсы/абстрактные классы/протоколы
- 26. C# функции, какова их истинная сила, и являются ли они такими же, как методы
- 27. Являются ли блоки C++ `try` /` catch` такими же, как и другие блоки, относящиеся к RAII?
- 28. Являются ли интерфейсы обработаны как объекты?
- 29. Сравните и держать наблюдения символов, которые являются такими же
- 30. Java: Являются ли номера строк в Eclipse такими же, как в командной строке?