Size: a a a

cxx.Дискуссионная

2021 March 14

D

Danya in cxx.Дискуссионная
Dima
И где бы на него посмотреть?
C++ Core Guidelines, Modern Effective C++, например
источник

D

Danya in cxx.Дискуссионная
Dima
И где бы на него посмотреть?
Ты не задумывался почему в Джаве контейнеры имеют общий базовый класс, а в С++ нет?
источник

D

Dima in cxx.Дискуссионная
Danya
C++ Core Guidelines, Modern Effective C++, например
Они противоречат друг другу. Пример: гайдлайны советуют использовать классическое разделение на передачу по константной ссылке для больших объектов и копирование значений для примитивов.

А Modern Effective C++  рекомендует использовать сементику перемещения с move/forward
источник

D

Dima in cxx.Дискуссионная
Так что мимо)
источник

D

Danya in cxx.Дискуссионная
Dima
Они противоречат друг другу. Пример: гайдлайны советуют использовать классическое разделение на передачу по константной ссылке для больших объектов и копирование значений для примитивов.

А Modern Effective C++  рекомендует использовать сементику перемещения с move/forward
Бред
источник

D

Danya in cxx.Дискуссионная
Это никак друг другу не противоречит
источник

D

Dima in cxx.Дискуссионная
Danya
Бред
источник

D

Danya in cxx.Дискуссионная
Danya
Это никак друг другу не противоречит
>
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Dima
Они противоречат друг другу. Пример: гайдлайны советуют использовать классическое разделение на передачу по константной ссылке для больших объектов и копирование значений для примитивов.

А Modern Effective C++  рекомендует использовать сементику перемещения с move/forward
слышу звон, но не знаю, где он
источник

D

Dima in cxx.Дискуссионная
Danya
Это никак друг другу не противоречит
Ты серьезно не видишь разницы между этими двумя конструкторами?


class Example {
const Value field;
public Example(const Value &v): field(v) {}
}


и этим


class Example {
const Value field;
public Example(Value v): field(move(v)) {}
}
источник

D

Danya in cxx.Дискуссионная
Dima
Ты серьезно не видишь разницы между этими двумя конструкторами?


class Example {
const Value field;
public Example(const Value &v): field(v) {}
}


и этим


class Example {
const Value field;
public Example(Value v): field(move(v)) {}
}
Второй у тебя вообще некорректный )
источник

D

Danya in cxx.Дискуссионная
У тебя там копирование
источник

D

Dima in cxx.Дискуссионная
Danya
Второй у тебя вообще некорректный )
Теперь корректный)
источник

D

Dima in cxx.Дискуссионная
const при копипасте забыл убрать
источник

D

Dima in cxx.Дискуссионная
Ну вот скажи же, совершенно разные стили, первый это по гайдлайнам, второй это современный c++
источник

D

Dima in cxx.Дискуссионная
Alexander Zaitsev
слышу звон, но не знаю, где он
Пример внизу
источник

D

Danya in cxx.Дискуссионная
А ты гайдлайны то читал дальше?)
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Dima
Пример внизу
теперь показывай, где гайдлайны для конструктора предлагают по ссылке передавать и копировать, а не для функции
источник

D

Dima in cxx.Дискуссионная
Alexander Zaitsev
теперь показывай, где гайдлайны для конструктора предлагают по ссылке передавать и копировать, а не для функции
Так конструктор это функция-член по стандарту...
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Dima
Так конструктор это функция-член по стандарту...
)))))))))))))))))))))))))))))
источник