Какова связь между чертами Scala и C ++? - PullRequest
6 голосов
/ 06 марта 2011

Черты - это концепция, используемая в Scala, а также в C ++ (хотя в C ++ это скорее идиома, чем концепция, интегрированная в язык).Для меня не очевидно, как связаны понятия.Какая связь между чертами Scala и C ++?

1 Ответ

9 голосов
/ 06 марта 2011

Они вообще не связаны.

В C ++ класс признаков - это вспомогательный объект, который сообщает вам что-то о типе, который вы не можете получить из самого имени типа. Черты C ++ на самом деле больше похожи на нотацию Scala def foo[A:Manifest] (функция, для которой я не знаю правильного имени.)

Черты Scala на самом деле больше похожи на множественное наследование C ++ (хотя они отличаются в деталях). Я на самом деле весьма разочарован тем, что версия множественного наследования C ++ имеет официальное название "множественное наследование" (исключая все остальные варианты), потому что первое предложение любого объяснения признаков Scala должно быть «Черты являются формой множественного наследования, которое ...»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...