170 похожих чатов

#Include <iostream> #include <fstream> class Tracer {

public:
std::string dest;
int b = 0;
Tracer(std::string constr, std::string destr): dest{destr}
{
std::cout<<constr<<" created"<<"\n";
}
Tracer(int a, std::string constr, std::string destr): dest{destr}, b{a}
{
std::cout<<b<<" "<<constr<<" created"<<"\n";
}
Tracer(): dest{""}
{
std::cout<<"mass objects created"<<"\n";
}
~Tracer()
{
std::cout<<b<<" "<<dest<<" deleted"<<"\n";
}
};
int main()
{
Tracer t1("first loc","first loc");
Tracer* pt1 = new Tracer[10];
for (int i = 0; i < 10; i++) {
pt1[i] = Tracer(i,"loc mass","loc mass");
}
delete[] pt1;


return 0;
} почему в чикле после создания и присваивания объектов в pt1[i] вызывется деструктур и для какого из объектов?

5 ответов

17 просмотров

для вот этого Tracer(i,"loc mass","loc mass");

AnTINooBL- Автор вопроса
Anatoly Shirokov
для вот этого Tracer(i,"loc mass","loc mass");

а почему, они же по идее должны сохраняться, иначе их же не смогу использовать после?

AnTINooBL
а почему, они же по идее должны сохраняться, иначе...

хранятся копии. это же не java. ты создал временный объект, его копия сохранилась в элементе массиве pt1[i], все, временный объект уничтожился после ;

= ?
а если мувнуть?

мув не влияет на время жизни объекта

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта