«raii» etiketlenmiş sorular



16
bir yıkıcıdan istisnalar atmak
Çoğu insan hiçbir zaman bir yıkıcıdan bir istisna atmaz der - bunu yapmak tanımsız davranışa neden olur. Stroustrup, "vektör yıkıcı her bir eleman için yıkıcıyı açıkça çağırıyor." "bir eleman yıkıcı fırlatılırsa garanti vermez" (Ek E3.2'den) . Bu makale aksini söylüyor gibi - yıkıcıların aşağı yukarı iyi. Benim sorum şu - …


5
Bir ifstream'i manuel olarak kapatmam gerekir mi?
Ben manuel çağrı gerekiyor mu close()ben kullandığınızda std::ifstream? Örneğin, kodda: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); file.close(); return buffer.str(); } throw std::runtime_exception("file not found"); } file.close()Manuel olarak aramam gerekir mi? Olmamalı ifstreamfaydalanmak de ray dosyaları kapatmak için?
201 c++  ifstream  raii 


29
C ++ [kapalı] bellek sızıntılarını önlemek için genel yönergeler
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Cevapların gerçekler, referanslar veya uzmanlıkla desteklenmesini bekliyoruz, ancak bu soru büyük olasılıkla münazara, münakaşalar, anketler veya uzun tartışmalar gerektirecektir. Bu sorunun iyileştirilebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, rehberlik için yardım merkezini ziyaret edin . 7 yıl önce kapalı . C …

12
İstisnai güvenlik için "kapsamlı davranış" elde etmenin bir yolu olarak IDisposable kullanmak ve "kullanmak" kötüye kullanım mıdır?
C ++ 'da sıklıkla kullandığım bir şey, bir sınıfın Abaşka bir sınıf için bir durum girişi ve çıkış koşulunu kurucu ve yıkıcı Baracılığıyla işlemesine izin Avermekti, bu kapsamdaki bir şey bir istisna atarsa, B'nin bilinen bir duruma sahip olacağından emin olmak için kapsamdan çıkıldı. Kısaltmaya göre bu saf RAII değil, …

11
Terimin ve kavramın anlamını anlama - RAII (Kaynak Edinme Başlatma)
C ++ geliştiricileri, lütfen bize RAII'nin ne olduğu, neden önemli olduğu ve diğer dillerle herhangi bir ilgisi olup olmadığı hakkında iyi bir açıklama verebilir misiniz? Ben bunu biraz biliyorum. Bunun "Kaynak Edinme Başlatma" anlamına geldiğine inanıyorum. Bununla birlikte, bu ad, RAII'nin ne olduğunu (muhtemelen yanlış) anladığımla uyuşmuyor: RAII'nin yığın üzerindeki …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.