program story

shared_ptr은 어디에 있습니까?

inputbox 2020. 8. 19. 08:02
반응형

shared_ptr은 어디에 있습니까?


나는 shared_ptr이 어디에 있는지 찾으려고 몇 시간 후에 지금 너무 실망합니다. 내가 보는 예제는 헤더를 포함하는 완전한 코드를 보여주지 shared_ptr않습니다. 간단하게 진술 std, tr1그리고 <memory>전혀 도움이되지 않는다! 부스트를 모두 다운로드했지만 여전히 표시되지 않습니다! 누군가 그것을 찾을 수있는 정확한 위치를 말함으로써 나를 도울 수 있습니까?

답답함을 풀어 주셔서 감사합니다!

편집 : 내 제목이 변경된 것을 봅니다. 미안합니다. 그래서 ... 또한 shared_ptr이 "C ++ 버전 의존적"이라는 것이 분명하지 않았기 때문입니다.-> 이것이 제가 환경을 말하지 않은 이유입니다-> 그래서 아마도 그것을 찾기가 너무 어려웠을 것입니다.

나는 MSVS2008에서 일하고 있습니다.

편집 2 : 이유를 모르겠지만 어디서나 shared_ptr을 찾는 동안 [memory]와 [boost / tr1 / memory.hpp] 및 [boost / tr1 / tr1 / memory]를 포함 시켰습니다. 물론, 나는 할 수 없었습니다. '티.

모든 응답에 감사드립니다.


다음을 찾을 수있는 곳은 3 곳 이상입니다 shared_ptr.

  1. 당신의 C ++ 구현 지원은 C ++ 11 (또는 C ++ 11 적어도 경우 shared_ptr), 다음 std::shared_ptr에 정의됩니다 <memory>.

  2. 당신의 C ++ 구현 지원하는 C ++ TR1 라이브러리 확장한다면, std::tr1::shared_ptr가능성이있을 것 <memory>(마이크로 소프트 비주얼 C ++) 또는 <tr1/memory>(g ++의 된 libstdc ++). Boost는 사용할 수있는 TR1 구현도 제공합니다.

  3. 그렇지 않으면, 당신은 부스트 라이브러리와 사용을 얻을 수 있습니다 boost::shared_ptr에서 찾을 수 있습니다 <boost/shared_ptr.hpp>.


시작하기

대신 Boost TR1에서 사용하려면

shared_ptr 예


기능 팩 업데이트가있는 VS2008의 경우 shared_ptr은 네임 스페이스 std :: tr1에서 찾을 수 있습니다.

std::tr1::shared_ptr<int> MyIntSmartPtr = new int;

C:\Program Files\Boost\boost_1_40_0IDE 설정에 부스트 설치 경로 (예 : @ )를 추가 한 경우 :

#include <boost/shared_ptr.hpp>

your'e가 BOR를 찾고 있다면 부스트shared_ptr을 쉽게하여 답을 찾을 수 있었다 shared_ptr의 인터넷 검색 , 워드 프로세서에 대한 링크를 다음과 같은 완전한 작동 예를 당겨 .

어쨌든, 방금 해킹 한 최소한의 완전한 작업 예제가 있습니다.

#include <boost/shared_ptr.hpp>

struct MyGizmo
{
    int n_;
};

int main()
{
    boost::shared_ptr<MyGizmo> p(new MyGizmo);
    return 0;
}

(가) 위해서는 #include헤더를 찾으려면 라이브러리는 분명히 검색 경로에 있어야합니다. MSVC에서는 프로젝트 설정> 구성 속성> C / C ++> 추가 포함 디렉터리에서 설정합니다. 제 경우에는C:\Program Files (x86)\boost\boost_1_42

참고 URL : https://stackoverflow.com/questions/2918202/where-is-shared-ptr

반응형