raii

    2

    2답변

    Derelict 및 D를 사용하여 SDL 자습서 시리즈 (C++로 작성)를 수행하고 있습니다. 지금까지 변환은 간단했지만 튜토리얼 작가 스타일은 나를 귀찮게하고 나는 그 주위의 최선의 방법을 찾아 내려고 노력해 왔습니다. 하지만 D에 대한 지식이 최고가 아니기 때문에이 문제를 해결할 수 있을지 잘 모르겠습니다. 기본적으로 SDL을 사용하려면 이미지 파일을

    2

    1답변

    (? 내가해야합니까 어떻게 그렇게하지) : { ProfileGuard pg("SampleName"); // Code to profile ... } 을하지만 가끔 GCC 코드를 최적화하는 것으로 나타났습니다 pg을되도록 즉시 파괴됩니다. 외관상으로는 그것은 pg를 검출하고 다른 부호는 서로 영향을 미치지 않을 것이다. gcc

    4

    4답변

    RAII 관용구가 클래스에서 필요로하는 리소스에 적용될 때 이해합니다. (틀린 경우 수정하십시오), 리소스가 필요한 클래스는 적절한 유형의 멤버를 정의해야하며 해당 소멸자는 사용하여 클래스의 인스턴스가 파괴 될 때 다음과 같이 자동으로 호출 : 외에도 힙에 리소스를 할당하는 스마트 포인터를 사용에서 class Skybox { public:

    0

    1답변

    내 프로그램에 버그가 있다고 생각합니다. SDL과 OpenGL을 사용하여 애니메이션을 렌더링합니다. 이 프로그램은 또한 평균 FPS를 측정합니다. 팁 적으로 프로그램을 실행하면 약 550FPS에서 실행됩니다. 그러나 프로그램의 두 번째 인스턴스를 시작하면 FPS는 둘 다 약 절반 (220FPS)으로 떨어집니다. 이상한 점은 첫 번째 인스턴스를 닫으면 두 번

    0

    1답변

    .NET 용 RAII-Wrapper를 이론적으로 만들 수 있습니까? 오랫동안 C++ 프로그래머로서 객체 수명을 다시 관리하는 것을 싫어합니다. Dispose-Pattern은 IMHO에 불과하지만 RAII의 사용 용이성과 비교하여 나쁜 농담입니다. 특히 사용자가 개체 및 구현 클래스의 구현 세부 사항 (Dispose)을 처리하여 강제로 IDX가 가능하도록 만

    5

    3답변

    C++에서는 종종 RAII 스타일의 객체를 사용하여 코드의 안정성을 높이고 스택에 할당하여 코드를 더 효율적으로 만들었습니다 (bad_alloc을 방지했습니다). 그러나 스택에 콘크리트 클래스의 객체를 생성하면 종속성 반전 (DI) 원칙을 위반하고이 객체를 조롱하는 것을 방지합니다. 다음 코드 고려 : 나는 IBar::process을 테스트 할 수 있습니다

    2

    2답변

    파이썬에서 다양한 수의 파일을 여는 "최선의"방법은 무엇입니까? 파일 수가 미리 알려지지 않은 경우 "사용"하는 방법을 추측 할 수 없습니다. (수신 RAII/C++에서)

    0

    1답변

    매개 변수로 객체를 전달하는 좋은 방법은 무엇으로? 필자의 코드에서는 포인터 대신 참조를 사용하고 있으며 가능한 경우이 접근법을 고수하고 싶습니다. 그러나이 제대로 작동하지 않는 하나의 경우가있다 : class Resource { Resource(...) { //expensive resource initialization } ~Resour

    1

    2답변

    RAII를 사용하여 클래스를 구현하고 싶습니다. 생성자에서 리소스를 가져와야하지만 수집이 실패했을 수 있습니다. 나는 다음과 같은 사용하여 파일의 예를주지 : class file { public: file(const char* filename) { file_ = fopen(filename, "w+"); if(!file_) {

    10

    1답변

    부스트 또는 최신 std :: thread 라이브러리를 사용할 수 없습니다. 갈 방법은 범위가 지정된 뮤텍스의 맞춤 구현을 만드는 것입니다. 몇 가지 단어로 클래스 인스턴스가 생성되면 뮤텍스가 잠 깁니다. 클래스 파괴시 뮤텍스는 잠금 해제됩니다. 구현이 가능합니까? 나는 바퀴를 다시 발명하고 싶지 않습니다. 나는 pthreads를 사용해야합니다. 자원 획득