Сообщение Re[2]: Похоже, починил. от 20.12.2018 21:54
Изменено 20.12.2018 21:59 rg45
Re[2]: Похоже, починил.
Здравствуйте, Sheridan, Вы писали:
S>
И я хочу привести еще один довод в пользу умных указателей. Представь, что в каком-то классе у тебя оказалось два инкапсулированных указателя. Может такое быть? И вот, ты успешно создаешь первый объект, а при создании второго летит исключение. И приехали, первый объект никто никогда не освободит, потому, что деструктор в таких случаях не вызывается.
S>
S>class cobject
S>{
S> cobject () { buf = new urho3d::vertexbyffer(); }
S> ~cobject () { delete buf; }
S> urho3d::vertexbyffer *buf;
S>}
S>
И я хочу привести еще один довод в пользу умных указателей. Представь, что в каком-то классе у тебя оказалось два инкапсулированных указателя. Может такое быть? И вот, ты успешно создаешь первый объект, а при создании второго летит исключение. И приехали, первый объект никто никогда не освободит, потому, что деструктор в таких случаях не вызывается.
Re[2]: Похоже, починил.
Здравствуйте, Sheridan, Вы писали:
S>
И я хочу привести еще один довод в пользу умных указателей. Представь, что в каком-то классе у тебя оказалось два инкапсулированных указателя. Может такое быть? И вот, ты успешно создаешь первый объект, а при создании второго летит исключение. И приехали, первый объект никто никогда не освободит, потому, что деструктор в таких случаях не вызывается.
P.S. Ты вот, не поленись, почитай вот эту книжку: https://doc.lagout.org/programmation/C/CPP101.pdf, хотя бы выборочно.
S>
S>class cobject
S>{
S> cobject () { buf = new urho3d::vertexbyffer(); }
S> ~cobject () { delete buf; }
S> urho3d::vertexbyffer *buf;
S>}
S>
И я хочу привести еще один довод в пользу умных указателей. Представь, что в каком-то классе у тебя оказалось два инкапсулированных указателя. Может такое быть? И вот, ты успешно создаешь первый объект, а при создании второго летит исключение. И приехали, первый объект никто никогда не освободит, потому, что деструктор в таких случаях не вызывается.
P.S. Ты вот, не поленись, почитай вот эту книжку: https://doc.lagout.org/programmation/C/CPP101.pdf, хотя бы выборочно.