vector — это структура с двумя открытыми членами X и Y; параметризованный конструктор, который печатает целочисленный конструктор с именем; конструктор копирования, который печатает конструктор копирования, называемый; и конструктор перемещения, который печатает конструктор перемещения, называемый если аргумент равен 0. в противном случае она возвращает {2, 2.
Функция main создает вектор A с помощью makeVectorx5y5IfNotZero(1) и создает вектор B с помощью makeVectorx5y5IfNotZero(0).
Вот код:
#include
struct vector{
int X, Y;
vector(int X, int Y) : X(X), Y(Y){
printf("integer constructor called\n");
}
vector(const vector& other): X(other.X), Y(other.Y){
printf("copy constructor called\n");
}
vector(vector&& other): X(other.X), Y(other.Y){
printf("move constructor called
Подробнее здесь: https://stackoverflow.com/questions/792 ... same-funct
Почему один вызов этой функции использует NRVO, а другой вызов той же функции — нет? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему один вызов этой функции использует NRVO, а другой вызов той же функции — нет
Anonymous » » в форуме C++ - 0 Ответы
- 37 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему один вызов этой функции использует NRVO, а другой вызов той же функции — нет?
Anonymous » » в форуме C++ - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему один вызов этой функции использует NRVO, а другой вызов той же функции — нет?
Anonymous » » в форуме C++ - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему один вызов этой функции использует NRVO, а другой вызов той же функции — нет?
Anonymous » » в форуме C++ - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-