c++ - 라이브러리 배치에 의해 예약된 이것의 구체적인 구현은 무엇입니까?
怪我咯
怪我咯 2017-05-16 13:30:16
0
1
826
으아악

연산자 new의 다양한 형태를 배울 때 접했는데(c++ 입문서에서는 설명이 별로 없었음) 이 함수 호출을 사용하여 구현하는 방법 등 이 함수의 역할을 이해할 수 없었습니다placement new的构造效果, 比如这样two *abc = new(m) two(10);(이 구조를 봤음에도 불구하고) 실제로 위 함수도 호출됩니다.) 그리고 테스트 예시는 다음과 같습니다. (문제가 주석 처리되었습니다.)

으아악

여기에서는 문제를 더욱 단순화하고 자세히 설명하겠습니다.

  1. 이 기능이 구축 효과를 얻을 수 있는 이유는 two *abc = new(m) two(10);为例, 我没有(或者说不知道怎么在step into进去)能看清具体实现, 虽然我知道抽象出来就是实现了就地构造了two(10)이 개체입니다.

  2. 같은 효과를 얻기 위해 main()函数注释处这样直接调用函数的做法来实现就地构造, 我该如何修改参数和传入参数实现 two *abc = new(m) two(10);를 사용하면 어떨까요?

PS:

  • 초기 추측 중 하나는 전달된 _Where 포인터가 이미 생성된 객체에 대한 포인터여야 한다는 것이었습니다. 그러나 이런 방식으로 구현되면 이미 객체가 있어야 하며 이는 placement new.

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(1)
伊谢尔伦

/q/10... @felix Dashi님이 이미 이 질문에 대한 답변을 주셨는데요, 방금 보고 생각해보고 관련 내용을 찾아보겠습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿