В коде что ниже есть такое копирование:
MyClass A (1);
MyClass B (A);
В объекте А у меня есть указатель * data на динамическую область памяти Дальше идет цикл которым мы заполняем наш массив Как дальше происходит копирование прям пошагово?
1)У меня в объекте В вновь появляется указатель * data на динамическую область памяти которая уже у нас существует и в ней уже находится массив? 2)Тогда что происходит с циклом? Он если у нас ссылку на уже инсуючий массив то мы его Перезаписываем ??? Или каким-то образом у нас создается новый массив с такими же значений (но это не возможно потому что у нас не выделено для него памяти)? Как происходит копирование по шагам? Каждая строка берет с объекта А записывает в себя а затем выполняется код якй скопиювався или оно копирует тики тот массив который записался в объекте А !?
#include <iostream>
using namespace std;
class MyClass {
int * data;
public:
MyClass(int size) { // Конструктор
this->data = new int[size];
for (int i = 0; i < size; i++) {
data[i] = i;
cout << data[i];
}
cout << endl;
cout << "Вызвался Конструктор : "<< this << endl;
}
~MyClass() { // Деструктор
cout << "Вызвался Деструктор : " << this << endl;
/*delete[] data; Здесь ошибка по понятным причанам
}*/
}
};
int main()
{
setlocale(LC_ALL, "ru");
MyClass A(10);
MyClass B(A);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Такой вопрос, (я только учусь, так что не бейте) есть функция, которая удаляет элемент из массива:
Излазил вдоль и поперек форум(скорее всего чего-то не заметил)
не нашел четкого сравнения двух этих методов рисования виджетаОдин способ это рисовать все в paint()