Size: a a a

2020 July 17

AM

Aleksander Mironov in supapro.cxx
ClassA* objectA;
while(true) {
   
 delete(objectA);
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
источник

AM

Aleksander Mironov in supapro.cxx
Вот так верно будет получается.
источник

VD

Vlad Doc in supapro.cxx
Aleksander Mironov
ClassA* objectA;
while(true) {
   
 delete(objectA);
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
Над циклом тоже new должно быть.
источник

VD

Vlad Doc in supapro.cxx
А вообще просто создай юник внутри цикла
источник

AM

Aleksander Mironov in supapro.cxx
Artöm Bakri Al-Sarmini
Если обычный, переприсвоение самое норм
Т.е. даже вот так?
ClassA* objectA;
while(true) {
   
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
источник

AM

Aleksander Mironov in supapro.cxx
Vlad Doc
Над циклом тоже new должно быть.
Не понял, зачем?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Aleksander Mironov
Т.е. даже вот так?
ClassA* objectA;
while(true) {
   
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
У тебя утечка скорее всего
источник

VD

Vlad Doc in supapro.cxx
Aleksander Mironov
Не понял, зачем?
Удалять что ты собрался в первой итерации?)
источник

D

Danya in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
У тебя утечка скорее всего
100%
источник

D

Danya in supapro.cxx
Я бы даже сказал тут UB
источник

D

Danya in supapro.cxx
UB на UB
источник

AM

Aleksander Mironov in supapro.cxx
Vlad Doc
Удалять что ты собрался в первой итерации?)
А разве delete(nullptr) не верно?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Aleksander Mironov
Т.е. даже вот так?
ClassA* objectA;
while(true) {
   
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
И вроде второй цикл вообще выкинуть может
источник

VD

Vlad Doc in supapro.cxx
while(true) {
 std::unique_ptr<classA> = std::make_unique<ClassA>();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
источник

Е

Егор in supapro.cxx
Aleksander Mironov
Т.е. даже вот так?
ClassA* objectA;
while(true) {
   
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
надеюсь в цикле есть сайдэффекты
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
надеюсь в цикле есть сайдэффекты
В первом есть
источник

VD

Vlad Doc in supapro.cxx
Aleksander Mironov
А разве delete(nullptr) не верно?
У тебя там не нулптр)
источник

D

Danya in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
В первом есть
new это сайд эффект?
источник

z

zeroid in supapro.cxx
Aleksander Mironov
Т.е. даже вот так?
ClassA* objectA;
while(true) {
   
 objectA = new ClassA();
 
 while(true) {
     
   // Some actions
   if(objectA.IsInError()) break;
 }
}
Си с классами?)
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Danya
new это сайд эффект?
Хз, теперь неуверен
источник