«c++11» 태그된 질문

C ++ 11로 컴파일해야하는 코드에이 태그를 사용하십시오 (C ++ 14 이상에서 도입 된 기능을 사용하지 않음).


3
"* this에 대한 rvalue 참조"란 무엇입니까?
clang의 C ++ 11 status page 에서 "* r에 대한 rvalue reference"라는 제안을 보았습니다 . rvalue 참조에 대해 꽤 많이 읽고 이해했지만 이것에 대해 알지 못한다고 생각합니다. 또한 용어를 사용하여 웹에서 많은 리소스를 찾을 수 없습니다. 페이지에 제안서에 대한 링크가 있습니다 : N2439 (이동 의미론을 * this로 확장), 그러나 거기에서도 …


1
C ++ 11을 활성화 할 때 std :: vector 성능 회귀
C ++ 11을 사용할 때 작은 C ++ 스 니펫에서 흥미로운 성능 회귀를 발견했습니다. #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0; i < num_items; ++i) { container.push_back(Item()); } return 0; } …
235 c++  performance  gcc  c++11  vector 

4
왜 emplace_back 대신 push_back을 사용합니까?
C ++ 11 벡터에는 새로운 기능이 emplace_back있습니다. push_back복사를 피하기 위해 컴파일러 최적화에 의존하는와 달리 , emplace_back완벽한 전달을 사용하여 인수를 생성자에게 직접 보내어 객체를 제자리에 만듭니다. emplace_back모든 것을 push_back할 수있는 것은 나에게 보이지만 , 때로는 더 잘 할 것입니다 (그러나 결코 더 나쁘지는 않습니다). 어떤 이유를 사용해야 push_back합니까?
232 c++  c++11  std 

4
C ++ 11의 '자동'을 사용하여 성능을 향상시킬 수 있습니까?
autoC ++ 11 의 유형이 정확성과 유지 관리 성을 향상시키는 이유를 알 수 있습니다 . 나는 또한 성능을 향상시킬 수 있다는 것을 읽었 지만 (허브 스퍼트에 의해 거의 항상 자동 ), 나는 좋은 설명을 그리워합니다. 어떻게 auto성능 을 향상시킬 수 있습니까? 누구나 모범을 보여줄 수 있습니까?
230 c++  performance  c++11  auto 

10
람다 함수를 템플릿으로 만들 수 있습니까?
C ++ 11에는 람다 함수를 템플릿으로 만드는 방법이 있습니까? 아니면 템플릿으로 지정하기에는 너무 구체적입니까? 나는 대신 고전적인 템플릿 클래스 / functor를 정의 할 수 있다는 것을 이해하지만 질문은 더 비슷합니다 : 언어가 람다 함수를 템플릿 할 수 있습니까?
230 c++  templates  lambda  c++11 

4
언제 어떤 종류의 포인터를 사용합니까?
좋아, 내가 생계를 위해 C ++을 마지막으로 썼을 std::auto_ptr때 std lib가 사용 가능한 boost::shared_ptr모든 것이었고 모든 분노였습니다. 나는 다른 스마트 포인터 유형 부스트를 실제로 보지 않았다. C ++ 11은 현재 일부 유형의 부스트가 제공되었지만 모든 유형을 제공하지는 않습니다. 그렇다면 어떤 스마트 포인터를 언제 사용할지 결정하는 간단한 알고리즘이 있습니까? 벙어리 포인터 …

10
C ++ 11에 도입 된 주요 변경 사항은 무엇입니까?
나는 오래된 코드가 컴파일을 멈추게하는 C ++ 11의 적어도 하나의 변경 사항 : explicit operator bool()표준 라이브러리에 도입 하여의 이전 인스턴스를 대체 한다는 것을 알고 있습니다 operator void*(). 물론, 이것이 깨질 코드는 아마도 처음에는 유효하지 않은 코드 일 것입니다. 그럼에도 불구하고 여전히 중요한 변경 사항입니다. 다른 주요 변경 사항이 있습니까?
227 c++  c++11 



14
C ++ 11 자동 키워드가 너무 많습니까?
auto복잡한 템플릿 형식에 대해 C ++ 11 표준에서 사용할 수 있는 새로운 키워드를 사용하고 있습니다. 그러나 나는 또한 그것을 다음과 같은 것들에 사용하고 있습니다 : auto foo = std::make_shared<Foo>(); 그리고 더 회의적으로 : auto foo = bla(); // where bla() return a shared_ptr<Foo> 나는이 주제에 대해 많은 논의를 보지 못했다. …

2
unique_ptr을 벡터로 푸시 백 할 수없는 이유는 무엇입니까?
이 프로그램에 어떤 문제가 있습니까? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } 오류: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with …

6
make_unique와 완벽한 전달
std::make_unique표준 C ++ 11 라이브러리에 함수 템플릿 이없는 이유는 무엇 입니까? 나는 찾는다 std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); 조금 장황하다. 다음이 훨씬 좋지 않을까요? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); 이것은 new멋지게 숨기고 유형을 한 번만 언급합니다. 어쨌든, 여기에 구현하려는 나의 시도는 make_unique다음 과 같습니다. template<typename T, typename... Args> std::unique_ptr<T> …


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