С++ вопросы : Вопрос 1 : 68

Всегда ли в С++ выполняется деструктор? Назовите ситуацию, когда деструктор может быть никогда не вызван?

 

Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 

 

 

 

Верно ли наше решение?

Ответ:

Вопрос имеет отношение не совсем к С++, а к многопоточному программированию.
Вспомним как в С++ вызываются деструкторы:
1) явным образом - при вызове оператора delete;
2) неявным образом при выходе из блока в котором определена переменная, или при раскрутке стека и отработке исключения; 

Этот механизм может быть нарушен, если поток выполнения прерван извне (например функцией операционной системы "завершить поток" или "завершить процесс"). И если завершение процесса не особо критично (при этом все ресурсы освобождаются), то завершение потока без вызова деструкторов может привести к утечкам памяти, или ресурсов (например не разлоченные объекты синхронизации, которые могут привести к дедлокам). По этой причине в коде С++ настоятельно не рекомендуется пользоваться "сырым" API для работы с потоками, а использовать С++ библиотеки гарантирующие корректную очистку ресурсов, например Boost threads
1 балл


© Copyright © 2017 - 2019 Все права защищены. Бесплатное онлайн образование.
  • https://disdik.munabarat.go.id/nusantara/slot/
  • https://dispendik.sidoarjokab.go.id/nuansa/gacor/
  • https://dkpd.grobogan.go.id/jakarta/gacor/
  • https://sbobet88.blog.unsia.ac.id
  • https://pafinusantara.blog.unsia.ac.id/bet88
  • https://idn-poker.blog.unsia.ac.id
  • https://slot777-gacor.blog.unsia.ac.id
  • https://agen-188bet.blog.unsia.ac.id
  • https://situs-slot.blog.unsia.ac.id
  • https://bet88-slot.blog.unsia.ac.id
  • https://2021.kinerja.ekon.go.id/up/slot777
  • https://2021.kinerja.ekon.go.id/halal/bet88
  • https://program-gacor.blog.unsia.ac.id
  • surapati.ac.id
  • untagsby.ac.id
  • kingandiboston.com
  • janeashton.com
  • redbrickcafechester.com
  • villanosdeljazz.com
  • slot