LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Трейты это абстрактный класс, тайпкласс это концепт, в чем разница? Что по твоему нельзя выразить через С++? В моем треде о рекурсии я уже писал как раз что трейт это класс с девиртуализацией, а dyn trait это просто класс.

Многие считают что модули из OCaml лучше чем средства Haskell, ну а они через классы выражаются на C++, не в духе ООП, а через то, что класс в C++ может определять свои типы внутри итд.

module Data = struct
  type t = int
  type t2 = float

  let add t t2 = ...
end

class Data {
  using t = int;
  using t2 = float;
  
  auto add(...) ...
};

Исправление MOPKOBKA, :

Трейты это абстрактный класс, тайпкласс это концепт, в чем разница? Что по твоему нельзя выразить через С++? В моем треде о рекурсии я уже писал как раз что трейт это класс с девиртуализацией, а dyn trait это просто класс.

Многие считают что модули из OCaml намного круче, ну а они через классы выражаются на C++, не в духе ООП, а через то, что класс в C++ может определять свои типы внутри итд.

module Data = struct
  type t = int
  type t2 = float

  let add t t2 = ...
end

class Data {
  using t = int;
  using t2 = float;
  
  auto add(...) ...
};

Исправление MOPKOBKA, :

Трейты это абстрактный класс, тайпкласс это концепт, в чем разница? Что по твоему нельзя выразить через С++? В моем треде о рекурсии я уже писал как раз что трейт это класс с девиртуализацией, а dyn trait это просто класс.

Многие считают что модули из OCaml намного круче, ну а они через классы выражаются на C++, не в духе ООП, а через то, что класс в C++ может определять свои типы внутри итд.

Исходная версия MOPKOBKA, :

Трейты это абстрактный класс, тайпкласс это концепт, в чем разница? Многие считают что модули из OCaml намного круче, ну а они через классы выражаются на C++, не в духе ООП, а через то, что класс в C++ может определять свои типы внутри итд.