nightmare2 wrote:Все это можно было бы решить через стандартизацию библиотек/фреймворков.
Вот только никому это не надо, да и сложно это сделать для всех ОС.
Поэтому и неудобен он для писания большинства тривиальных бизнес приложений.
С этим я скорее соглашусь.
Всё замечательно, гогда все в команде придерживаются одного стиля и пишут на хорошем C++. Но редко какая программа живёт в вакууме, и вот при взаимодействии со всякими 3rd-parties цирк и начинается. Чувствуешь себя полным идиотом, когда приходится в XXI веке писать, к примеру, код по конвертации строк из одного дебильного формата в другой (разумеется, кадый из разработчиков этих библиотек считал, что его строки самые строчные строки в мире).
По поводу умных указателей - на одной работе, помнится, моей первой задачей было утечку найти. Оказалось, что кто-то чуток не так использовал CComBSTR (это smart pointer для строк в COMе, кто не в курсе). Так что smart pointers тоже не панацея, если не уметь ими пользоваться.
Справедливости ради, у нас сейчас веб-погромисты по полной огребают проблемы с памятью с garbage collected JavaScript & ActionScript. Причём на такие танцы с бубном им приходится идти, от которых у непосвящённых (вроде меня) волосы дыбом встают и сложности речного управления памятью с malloc/free кажутся игрой в кубики для трёхлеток. Так что думать всегда надо.
Кстати, не понял, как это smart pointers могут быть настолько медленными, что их с GC сравниваете тут? Даже самому захотелось померять...
Мир Украине. Свободу России.