placement-new

    6

    4답변

    "variant-type 개체"를 구현하는 데 수년 동안 성공적으로 사용해온 코드가 있습니다. 즉, 다양한 유형의 값을 보유 할 수 있지만 가장 큰 유형의 메모리 만 사용합니다 (대략). 이 코드는 비 POD 데이터 유형을 지원한다는 점을 제외하고는 태그가 붙은 유니온과 유사합니다. char 버퍼, placement new/delete 및 reinterpr

    4

    7답변

    다음은 다소 재미있는 C++ 코드이지만, 작동한다는 것을 알고 있습니다. 구조체가 정의되어 있으며 프로그램에서 void 포인터를 사용하여 메모리를 할당합니다. 그런 다음 구조체는 할당 된 버퍼를 사용하여 생성됩니다. 여기 코드는 더 많은 물건을 가지고 몇 가지 코드 typedef struct{ char buffer[1024]; } MyStruct i

    2

    2답변

    연산자 오버로드에 대한 인수 목록이 체계적으로 결정되는 방식을 결코 이해하지 못했으며, 지금 당장 가지고있는 문제로 인해 혼란 스럽습니다. 단항 연산자에 과부하가 걸리면 하나의 인수가 있거나 클래스 멤버 인 경우 0이됩니다. 2 진 연산자를 오버로드하면 두 개의 인수가 있거나 클래스 구성원 인 경우 하나가 있습니다. 적어도 그것은 그것이 작동하는 것처럼 보

    13

    3답변

    이것이 작동하지 않는 이유는 없습니다. 다음은 새로운 게재 위치로 생성 된 Function입니다. 소멸되어야하는지 여부를 검사하는 기능이 제공되며, 소멸 될 경우 소멸자를 수동으로 호출합니다. /* Represents a function at runtime */ class Function { public: /* Creates an invalid

    0

    2답변

    소멸자를 호출하는 세 가지 접근법에 중대한/심각한 차이가 있는지 궁금합니다. 다음 코드를 고려하십시오. main()에 언급 된 두 가지 사례도 고려하십시오. 사례 1의 경우 2, 또는 둘 : 당신이 대답중인 경우에 관한 회신 class Sample { public: ~Sample() { cout << "destructor c

    3

    2답변

    나는 동적 메모리 할당을 "손으로"놀고 있는데 MS에서 온 사람들이 새 배치를 구현하는 방법을보고 싶었지만 디버깅 할 때 코드로 넘어갔습니다 : inline void *__CRTDECL operator new(size_t, void *_Where) _THROW0() { // construct array with placement at _Where ret