Size: a a a

IT KPI C/С++ ХВ (хорошо, что не UB)

2020 February 25

РБ

Раздолбанный Басс in IT KPI C/С++ ХВ (хорошо, что не UB)
+ачивка
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
Subobject destructors are called by the destructor of the container class. In particular, the subobjects will be destroyed after the body of the container classes destructor has been executed.
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
а можно как-то отменить автоматический вызов детруткора?
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
скажем я хочу в определенном порядке уничтожать
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
Э.. сомневаюсь
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
Bogdan
скажем я хочу в определенном порядке уничтожать
Но под это по-любому есть костыли
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
Как и под все ёбнутое на с++))
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
кееек
class Base
   {

       class Destroyer
       {
            ~Destroyer()
            {
                //Put the stuff here because this destr will be called last
                cout << "Destroyer Des\n";
            }
       } _destroyer;

       Inner1 inner1;
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
Bogdan
скажем я хочу в определенном порядке уничтожать
std::mem::forget
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
GNU/Vsevolod.rs
std::mem::forget
это другой езык

)))
источник

G

GNU/Vsevolod.rs in IT KPI C/С++ ХВ (хорошо, что не UB)
источник

РБ

Раздолбанный Басс in IT KPI C/С++ ХВ (хорошо, что не UB)
Product::Product(char* NameToAdd, int CounttoAdd, float PriceToAdd, Postachalnik& ObjectToAdd) {
 product = new char[strlen(NameToAdd) + 1];
 strcpy(product, NameToAdd);
 count = CounttoAdd;
 price = PriceToAdd;
 obj = ObjectToAdd;
}
Product::Product(Product& a) {
 product = new char[strlen(a.product) + 1];
 count = a.count;
 price = a.price;
 obj = a.obj;
} по идее тут не может вызываться деструктор, потому что я передаю ссылку на объект, так ведь?
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
I'm surprised that nobody mentioned completely C++ standard compliant solution with union. In union no constructor even destructor is called automatically for members. Even in case there is only one member in the union. All that must be done "manually":
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
@kraftwerk28 ноорм хак через юнионы
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
new (&o)MyObj(i);  // placement new - does NOT allocate, just calls constructor


веселуха)
источник

TL

Tony Lutsenko in IT KPI C/С++ ХВ (хорошо, что не UB)
Чо вообще
источник

TS

Till Schneider in IT KPI C/С++ ХВ (хорошо, что не UB)
Bogdan
а можно как-то отменить автоматический вызов детруткора?
Нет, уб
источник

B

Bogdan in IT KPI C/С++ ХВ (хорошо, что не UB)
Till Schneider
Нет, уб
union ;)
источник

TS

Till Schneider in IT KPI C/С++ ХВ (хорошо, что не UB)
Bogdan
union ;)
Ub
источник