Size: a a a

Programming Offtop

2020 August 07

D

Danya in Programming Offtop
Iaroslav Orlov
не вполне...
Достаточно лишь открыть документацию )
источник

IO

Iaroslav Orlov in Programming Offtop
Danya
Пример вариадиков из С++ -- std::vector::emplace_back -- конструирует обьект элемента вектора на месте (вместо того, чтобы копировать), принимая аргументы для конструктора и перенаправляя их в конструктор
поддержку ide не сделать, чтобы понять, что творишь нужно либо лезть в код, либо в доку
источник

D

Danya in Programming Offtop
Alexander Nozik
Где под разными номерами разные типы
Там один тип
источник

IO

Iaroslav Orlov in Programming Offtop
Danya
Достаточно лишь открыть документацию )
это отвратительно
источник

AN

Alexander Nozik in Programming Offtop
Danya
Там один тип
а тогда зачем вам варарги в типах для этого?
источник

D

Danya in Programming Offtop
Alexander Nozik
а тогда зачем вам варарги в типах для этого?
Ждите пример)
источник

ML

Mikhail Levchenko in Programming Offtop
Alexander Nozik
Колбэк больше чем с 3 параметрами - это ошибка проектирования. А если там еще и переменная длинна - то привет ошибки.
метрики интересные
источник

D

Danya in Programming Offtop
struct VeryHeavy {
 // custom constructor
 VeryHeavy(int arg1, double arg2, std::vector<int> arg3) {
    // magic
  }
};

std::vector<VeryHeavy> v;
v.emplace_back(10, 0., {1, 2, 3});
источник

D

Danya in Programming Offtop
Danya
struct VeryHeavy {
 // custom constructor
 VeryHeavy(int arg1, double arg2, std::vector<int> arg3) {
    // magic
  }
};

std::vector<VeryHeavy> v;
v.emplace_back(10, 0., {1, 2, 3});
emplace_back передаёт все свои параметры напрямую в конструктор VeryHeavy в том куске памяти вектора, где он будет лежать
источник

D

Danya in Programming Offtop
То есть он на месте конструирует без лишних копирований
источник

D

Danya in Programming Offtop
Iaroslav Orlov
поддержку ide не сделать, чтобы понять, что творишь нужно либо лезть в код, либо в доку
А какую поддержу ты хочешь?
Я не очень понимаю что тут поддерживать
источник

D

Danya in Programming Offtop
Iaroslav Orlov
поддержку ide не сделать, чтобы понять, что творишь нужно либо лезть в код, либо в доку
> чтобы понять, что творишь
программировать наугад -- вообще плохо, скажу я
источник

IO

Iaroslav Orlov in Programming Offtop
Danya
> чтобы понять, что творишь
программировать наугад -- вообще плохо, скажу я
так, блин. я может помню все конструкторы вектора, но чужой код, где make_unique от непонятно чего читать неприятно.

так вот, а аргументы в духе "язык хороший, а ты программируешь наугад" - это уже в духе защиты js
источник

D

Danya in Programming Offtop
Iaroslav Orlov
так, блин. я может помню все конструкторы вектора, но чужой код, где make_unique от непонятно чего читать неприятно.

так вот, а аргументы в духе "язык хороший, а ты программируешь наугад" - это уже в духе защиты js
Ну так std::make_unique - это правило хорошего тона в С++, так же как и в общем случае std::make_shared
источник

D

Danya in Programming Offtop
Это идиома С++, если можно так выразиться
источник

IO

Iaroslav Orlov in Programming Offtop
я знаю. но это помогает, в том чтобы определять конструктор неведомой фигни?
источник

D

Danya in Programming Offtop
Идиоматичный код на Котлине тоже непонятно как работает с первого взгляда программисту не на котлине
источник

D

Danya in Programming Offtop
Iaroslav Orlov
я знаю. но это помогает, в том чтобы определять конструктор неведомой фигни?
Не очень понял
источник

IO

Iaroslav Orlov in Programming Offtop
а я сейчас не про Котлин
источник

D

Danya in Programming Offtop
Iaroslav Orlov
а я сейчас не про Котлин
Я тебе пример привёл
источник