Re[6]: Работа - с чего начать: С++ или С#?
От: catBasilio  
Дата: 24.04.09 18:08
Оценка: -1 :)
Здравствуйте, gandjustas, Вы писали:

G>Вышла новая версия стандарта? Появился сборщик мусора? Код на С++ стал верифицируемым? Появился вывод типов?


Однажды я участвовал в одном проекте на С++, в котором использовался самопальный сборщик мусора. Причем он был оченб мощный и умел разруливать циклы и всякие сложные зависимости. Так программа с использованием этого gc жрала память как свинья помои. И довольно много времени приходилось искать объект который держал ссылку.
Если ты думаешь что в джаве или сишарпе память не может утекать, то ты ОЧЕНЬ заблуждаешься. Там точно также возможны ситуации когда кто-то будет держать объект, из-за этого не будет вызван его деструктор, а из-за этого не будет закрыт ремотный коннекшин ...
Единственное что в управляемых языках лучше — это невозможность такой ситуации:

std::vector<MyClass*> array;
array.push_back(new MyClass());
array.push_back(new MyClass());
array.push_back(new MyClass());

vector.clear()

или еще

class CopyableClass
{
 public:
  CopyableClass() : Value(new Object()){}
  ~CopyableClass() { delete Value;}

 private:
  Object* Value;
}


но подобные ситуации замечательно лечатся с использованием std::auto_ptr и std::shared_ptr.
и никакие мемори лики не страшны.
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.