«raii» 태그된 질문



16
소멸자에서 예외 던지기
대부분의 사람들은 소멸자에서 예외를 절대로 버리지 않는다고 . 그렇게하면 정의되지 않은 동작이 발생합니다. Stroustrup은 "벡터 소멸자가 모든 요소에 대해 소멸자를 명시 적으로 호출합니다. 이는 요소 소멸자가 던지면 벡터 소멸이 실패 함을 의미합니다. 소멸자에서 발생한 예외를 방지 할 수있는 좋은 방법은 없습니다. 따라서 라이브러리 요소 소멸자가 던질 경우 보증하지 않습니다 "(부록 …


5
ifstream을 수동으로 닫아야합니까?
를 close()사용할 때 수동으로 전화해야 std::ifstream합니까? 예를 들어, 코드에서 : 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()수동으로 전화 해야합니까? 파일을 닫기 위해 RAII 를 ifstream사용 해서는 안 됩니까?
201 c++  ifstream  raii 


29
C ++에서 메모리 누수를 피하기위한 일반 지침 [닫기]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

12
예외 안전을 위해 "범위 지정 동작"을 얻기위한 수단으로 IDisposable 및 "사용"을 사용하는 것이 악의적입니까?
내가 C ++에서 자주 사용했던 것은 생성자와 소멸자 를 통해 A클래스가 다른 클래스에 대한 상태 진입 및 종료 조건을 처리 하도록하여 해당 범위의 무언가가 예외를 던지면 B가 알려진 상태를 가질 수 있도록하는 것입니다. 범위가 종료되었습니다. 이것은 약어가가는 한 순수한 RAII는 아니지만 그럼에도 불구하고 확립 된 패턴입니다.BA C #에서는 종종 class …

11
용어 및 개념의 의미 이해-RAII (Resource Acquisition is Initialization)
C ++ 개발자가 RAII가 무엇인지, 왜 중요한지, 다른 언어와 관련이 있는지 여부에 대해 설명해 주시겠습니까? 나는 이렇게 조금 알고있다. 나는 그것이 "자원 획득이 초기화이다"를 의미한다고 믿는다. 그러나 그 이름은 RAII가 무엇인지에 대한 나의 (아마도 부정확 한) 이해와 동 떨어지지 않습니다. RAII가 스택에서 객체를 초기화하는 방법이라는 인상을 받았기 때문에 해당 변수가 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.