LINUX.ORG.RU

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

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

Не упускайте из виду то, насколько чище и выразительнее выглядят первый пример на Го.

Пример на С++ можно упростить. Не упускай что твой пример не умеет работать со всеми базовыми типами где есть +.

auto sum(const auto &seq) {
  decltype(seq[0] + seq[0]) result = 0;
  for (auto e : seq) result += e;
  return result;
}
Но в С++ стоит показывать <range>, можно создавать ленивые итераторы и ленивые операции над ними, там есть привычные map filter reduce, создавать массивы можно исключительно с помощью генераторов, например iota.

В С++ шаблоны могут генерировать много кода, но это не значит что они всегда так будут делать. Программист может реализовать коллекции на базе void *, и обернуть их в типобезопасные шаблонные обертки, которые будут лишь вызывать методы, и служить средством для проверки типов.

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

Не упускайте из виду то, насколько чище и выразительнее выглядят первый пример на Го.

Пример на С++ можно упростить. Не упускай что твой пример не умеет работать со всеми базовыми типами где есть +.

auto sum(const auto &seq) {
  decltype(seq[0] + seq[0]) result = 0;
  for (auto e : seq) result += e;
  return result;
}
Но в С++ стоит показывать <range>, можно создавать ленивые итераторы и ленивые операции над ними, там есть привычные map filter reduce, создавать массивы можно исключительно с помощью генераторов, например iota.

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

Не упускайте из виду то, насколько чище и выразительнее выглядят первый пример на Го.

Пример на С++ можно упростить. Не упускай что твой пример не умеет работать со всеми базовыми типами где есть +.

auto sum(const auto &seq) {
  decltype(seq[0] + seq[0]) result = 0;
  for (auto e : seq) result += e;
  return result;
}
Но в С++ стоит показывать <range>, можно создавать ленивые итераторы и ленивые операции над ними, там есть привычные map filter reduce, создавать массивы можно с помощью других генераторов например iota.

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

Не упускайте из виду то, насколько чище и выразительнее выглядят первый пример на Го.

Пример на С++ можно упростить. Не упускай что твой пример не умеет работать со всеми базовыми типами где есть +.

auto sum(const auto &seq) {
  decltype(seq[0] + seq[0]) result = 0;
  for (auto e : seq) result += e;
  return result;
}

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

Не упускайте из виду то, насколько чище и выразительнее выглядят первый пример на Го.

Пример на С++ можно упростить. Не упускай что твой пример не умеет работать с базовыми типами.

auto sum(const auto &seq) {
  decltype(seq[0] + seq[0]) result = 0;
  for (auto e : seq) result += e;
  return result;
}

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

Не упускайте из виду то, насколько чище и выразительнее выглядят первый пример на Го.

Пример на С++ можно упростить.

auto sum(const auto &seq) {
  decltype(seq[0] + seq[0]) result = 0;
  for (auto e : seq) result += e;
  return result;
}