Чем file descriptor RAII wrapper отличается от manual close и когда что выбрать?

C/C++MiddleПамять, lifetime и ownershipСравнениепамятьlifetime и ownership|resource|file descriptor raii wrapper|c++|c

Что хотят услышать интервьюеры:

Сравнение: «file descriptor RAII wrapper» выбирают не по привычке, а по контракту, стоимости и safety guarantees. В сравнении с manual close нужно учитывать lifetime, владение, потокобезопасность, читаемость и совместимость с проектом.

Ответ:

Правильная позиция: нет универсально лучшего решения; есть решение, подходящее под ограничения задачи.

class Fd {
  ~Fd(){
  if(fd>=0) close(fd);
}
int fd;
}
;

Источники

Похожие вопросы