«unique-ptr» 태그된 질문

std :: unique_ptr은 포인터를 통해 개체의 단독 소유권을 유지하는 스마트 포인터입니다. unique_ptr은 복사 또는 복사 할당이 불가능하며, unique_ptr의 두 인스턴스는 동일한 개체를 관리 할 수 ​​없습니다.

6
C ++ 17에서 std :: make_unique를 사용하는 이유는 무엇입니까?
내가 이해하는 한, C ++ 14 std::make_unique는 매개 변수 평가 순서가 지정되지 않아 안전하지 않았기 때문에 도입되었습니다 . f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (설명 : 평가가 먼저 원시 포인터에 대한 메모리를 할당 한 다음 호출 g()하고 std::unique_ptr생성 전에 예외가 throw 되면 메모리가 누출됩니다.) 호출 std::make_unique은 호출 순서를 제한하는 방법이므로 …
96 c++  c++17  unique-ptr 

4
std :: unique_ptr을 선언하는 방법과 그 용도는 무엇입니까?
나는 방법을 이해하려고 std::unique_ptr일을하고 내가 발견 이 문서를. 작성자는 다음 예제에서 시작합니다. #include <utility> //declarations of unique_ptr using std::unique_ptr; // default construction unique_ptr<int> up; //creates an empty object // initialize with an argument unique_ptr<int> uptr (new int(3)); double *pd= new double; unique_ptr<double> uptr2 (pd); // overloaded * and -> *uptr2 …
95 c++  pointers  std  unique-ptr 

6
error :: make_unique는 'std'의 구성원이 아닙니다.
코드 검토에 게시 된 다음 스레드 풀 프로그램을 컴파일하여 테스트하려고합니다. /codereview/55100/platform-independant-thread-pool-v4 하지만 오류가 발생합니다. threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); ^ threadpool.hpp:94:81: error: expected primary-expression before ‘>’ token auto package_ptr = …

4
T *를 레지스터로 전달할 수 있지만 unique_ptr <T>는 왜 할 수 없습니까?
CppCon 2019에서 Chandler Carruth의 연설을보고 있습니다. 무 비용 추상화가 없습니다 거기에, 그는 그가 당신이 사용하여 발생할 얼마나 많은 오버 헤드 놀랐다 방법의 예를 제공 std::unique_ptr&lt;int&gt;오버를 int*; 해당 세그먼트는 17:25 시점에 시작됩니다. 그의 예제 코드 쌍 (godbolt.org) 의 컴파일 결과 를 볼 수 있습니다 . 실제로 컴파일러가 unique_ptr 값을 기꺼이 전달하지 …

4
std :: unique_ptr을 전달하는 방법은 무엇입니까?
C ++ 11을 처음 사용하려고합니다 unique_ptr. 한 클래스가 소유하고 있지만 꽤 자주 전달되는 내 프로젝트 내에서 다형성 원시 포인터를 대체하고 있습니다. 나는 다음과 같은 기능을 사용했습니다. bool func(BaseClass* ptr, int other_arg) { bool val; // plain ordinary function that does something... return val; } 하지만 곧 다음으로 전환 할 수 …
83 c++  c++11  unique-ptr 




3
함수에서 고유 한 void 포인터 반환
void *CI에서 함수 를 얻으려면 다음과 같이하십시오 (매우 기본적인 예). void *get_ptr(size_t size) { void *ptr = malloc(size); return ptr; } 사용할 때 어떻게 같은 결과를 얻을 수 std::unique_ptr&lt;&gt;있습니까?
11 c++  c  unique-ptr 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.