raii

    7

    3답변

    어떤 종류의 호출 가능한 개체 컬렉션을 래핑하는 클래스 foo이 있다고 가정 해보십시오. foo에는 컬렉션을 반복하고 각 함수 객체를 호출하는 멤버 함수 run()이 있습니다. foo에는 컬렉션에서 호출 가능 개체를 제거하는 구성원 remove(...)도 있습니다. 당신이 foo.run()에 넣어 수 관용적, RAII 스타일의 가드가 있습니까 foo.rem

    0

    1답변

    나는 몇 가지 테스트를 실시, 내 질문에 대답하려면 : (복제 다음은 필요한 포함) #include <cstdlib> #include <memory> 내가 main 기능에 std::unique_ptr로, std::exit라는 기능을했다. void some_function() { std::exit(EXIT_SUCCESS); } int m

    1

    1답변

    C- 포인터에 대한 자동 삭제기를 구현했습니다. 코드는 테스트 프로그램에서 작동하지만 Google 테스트에서 코드를 사용할 때 이상한 일이 발생합니다. 이유를 이해할 수 없습니다. 정의되지 않은 동작으로 작성 했습니까? 또는 Google 테스트가 어떻게 든 방해합니까? 아래의 코드, 매크로 ASSERT_THAT이 경우 주석 처리, 인쇄 : i1 = 0x80

    2

    2답변

    은이 표에 따라 unique_ptr 소멸자가 T가 완료 필요 포워드 선언 된 유형 T에 대한 unique_ptr<T>를 사용하지만, 이동 할당 연산자뿐만 아니라 (그리고 reset) 때 : https://stackoverflow.com/a/6089065/1794803 그래서 당신의 pImpl 관용구를 들어, delete과 move assignment met

    1

    1답변

    저는 SQLite 데이터베이스와 작동하는 C++ 소프트웨어를 쓰고 있습니다. 많은 잠재적 인 분기 및 오류가있는 코드의 한 섹션이 있습니다. 내 거래가 항상 커밋되거나 롤백되는 것을 확인하는 데 문제가 있습니다. "진행중인 트랜잭션이있는 경우 롤백 할 방법이 있는지 궁금합니다." 또는 거래가 유효한지 판단하기 위해 할 수있는 테스트가 있습니까? 아무런 조치

    4

    3답변

    질문 :이 질문의 맨 아래에있는 리소스만을 사용하여 C 언어 (C++이 아닌)의 RAII 매크로를 더 잘 이해할 수 있도록 도와 주시겠습니까? 나는 그것이 무엇을 말하고 어떻게 이해하는지 (그것은 내 마음 속에서 이해가되지 않는다) 이해하기 위해 내 마음 속에서 분석하려고 노력하고있다. 구문은 어렵습니다. 질문의 초점은 : 이상한 구문과 그 구현을 C 언어

    2

    1답변

    에 설명 된대로 Thread_Guard 클래스를 작성하고 있습니다. 목록 2.3의 동시성 수행 - 스레드를 기다리는 동안 RAII 사용 완전한. 다음은 는 값이 기본 생성자에서 std::thread에 대한 참조를 위해 초기화 할 무엇 클래스 class Thread_Guard { thread& gThread; public: Thread_

    1

    2답변

    는 다음과 내가 가지고 말할 수 있습니다 : struct Foo { Foo() : bar([&]{ doSomething();}) std::function<void(void)> bar; void doSomething(){}; } 을 그리고 다른 스레드가 푸 인스턴스를 자폭하면서 하나 개의 스레드가 지속적으로 푸 인스턴스의 바

    0

    1답변

    는 Rule 14: Think carefully about copying behavior in resource-managing classes에, 예를 들어 내가 효과적인 C++을 읽고있다가 아래 코드 : Mutex m; Lock ml1(&m); Lock ml2(ml1); 나는 그것을 할 수있다 생각하기 때문에 다음과 같은 코드는 수도 실행 : //

    1

    1답변

    클래스 생성자와 해체자를 활용하여 RAII 관용구를 통해 로그 파일의 범위를 나타내고 형식화하려고합니다. 하나의 #define을 사용하면 "{"를 인쇄하고 다음 들여 쓰기 된 줄이 들여 쓰기 수준에서 인쇄되도록 전역 들여 쓰기 수준을 증가시킵니다. LogScopeRAII은 Foo()의 끝 부분에서 벗어나 자연스럽게 들여 쓰기 수준이 자연적으로 감소한다고 가