«c++11» 태그된 질문

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

3
C ++에서 조건부 typedef를 만드는 방법
나는 다음과 같은 것을 시도하고 있습니다. #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; } 하지만이 오류가 발생합니다. error: missing binary operator before token "(" 조건부 typedef를 올바르게 만들려면 …
89 c++  c++11 

4
기본 이동 할당 / 이동 생성자가없는 이유는 무엇입니까?
저는 단순한 프로그래머입니다. 내 클래스 멤버 변수는 대부분 POD 유형과 STL 컨테이너로 구성됩니다. 이 때문에 기본적으로 구현되는 할당 연산자 나 복사 생성자를 거의 작성할 필요가 없습니다. 여기에 std::move움직일 수없는 물체에 사용하면 할당 연산자를 활용하므로 std::move완벽하게 안전합니다. 나는 단순한 프로그래머이기 때문에 컴파일러가 단순히 " this->member1_ = std::move(other.member1_);..." 로 구현할 수 있었기 …


3
정적 키워드 지원 중단… 더 이상?
C ++에서는 static번역 단위 내 에서 키워드 를 사용하여 심볼의 가시성 (변수 또는 함수 선언)에 영향을 미칠 수 있습니다. n3092에서는 더 이상 사용되지 않습니다. Annex D.2 [depr.static] 네임 스페이스 범위에서 객체를 선언 할 때 static 키워드 사용은 더 이상 사용되지 않습니다 (3.3.6 참조). n3225에서는이 기능이 제거되었습니다. 내가 찾을 수있는 유일한 …
89 c++  static  c++11  standards 

3
const void 란 무엇입니까?
std::is_void상태에 대한 설명 : T가 void, const void, volatile void 또는 const volatile void 형식 인 경우 true와 동일한 멤버 상수 값을 제공합니다 . 그런 다음 무엇을 할 수있는 const void, 또는 volatile void? 이 답변 은 const void반환 유형이 유효하지 않을 것이라고 말합니다 (그러나 VC ++ 2015에서 컴파일됩니다) const …
89 c++  c++11  c++14 

4
가변 템플릿 인수를 저장하는 방법은 무엇입니까?
나중에 사용하기 위해 어떻게 든 매개 변수 팩을 저장할 수 있습니까? template <typename... T> class Action { private: std::function<void(T...)> f; T... args; // <--- something like this public: Action(std::function<void(T...)> f, T... args) : f(f), args(args) {} void act(){ f(args); // <--- such that this will be possible } } 그런 …

6
C ++ 11에서 같은 유형의 람다 벡터를 만들 수없는 이유는 무엇입니까?
람다 벡터를 만들려고했지만 실패했습니다. auto ignore = [&]() { return 10; }; //1 std::vector<decltype(ignore)> v; //2 v.push_back([&]() { return 100; }); //3 라인 # 2까지 잘 컴파일됩니다 . 그러나 줄 # 3은 컴파일 오류를 제공 합니다 . 오류 : 'std :: vector <main () :: <lambda () >> :: push_back …
89 c++  vector  lambda  c++11 

3
기본값, 값 및 제로 초기화 혼란
값 및 기본값 및 제로 초기화에 대해 매우 혼란 스럽습니다. 특히 다른 표준 C ++ 03 및 C ++ 11 (및 C ++ 14 ) 을 위해 시작될 때 . 나는 누군가가 도움을 줄 수 있다면 많은 사용자에게 도움이 될 것이므로 더 일반적으로 만들기 위해 Value- / Default- / Zero- …
89 c++  c++11  c++14  c++03  c++98 


11
예쁜 인쇄 std :: tuple
이것은 예쁘게 인쇄되는 STL 컨테이너 에 대한 이전 질문에 대한 후속 조치로 , 매우 우아하고 완전히 일반적인 솔루션을 개발할 수있었습니다. 이 다음 단계에서는 std::tuple<Args...>가변 템플릿을 사용하여에 대한 pretty-printing을 포함하고 싶습니다 (따라서 이것은 엄격하게 C ++ 11입니다). 의 경우 std::pair<S,T>간단히 std::ostream & operator<<(std::ostream & o, const std::pair<S,T> & p) { return …


6
람다 식을 반환하는 함수
C ++ 11에서 람다 함수를 반환하는 함수를 작성할 수 있는지 궁금합니다. 물론 한 가지 문제는 이러한 기능을 선언하는 방법입니다. 각 람다에는 유형이 있지만 해당 유형은 C ++에서 표현할 수 없습니다. 이것이 효과가 있다고 생각하지 않습니다. auto retFun() -> decltype ([](int x) -> int) { return [](int x) { return x; …
88 c++  function  c++11  lambda 

5
std :: shared_ptr에 상응하는 원자가 아닌 것이 있습니까? 그런데 왜 <memory>에 하나가 없나요?
이것은 원자성에 관한 두 부분으로 구성된 질문입니다 std::shared_ptr. 1. 내가 말할 수있는 한, 원 자성 std::shared_ptr에서 유일한 스마트 포인터입니다 &lt;memory&gt;. std::shared_ptr사용 가능한 비 원자 버전이 있는지 궁금합니다 (에서 아무것도 볼 수 없으므로 &lt;memory&gt;Boost의 것과 같이 표준 외부의 제안에도 열려 있습니다). 나는 boost::shared_ptr또한 원자 ( BOOST_SP_DISABLE_THREADS정의되지 않은 경우 ) 라는 것을 …

5
공유 포인터를 인수로 전달
공유 포인터로 래핑 된 객체를 선언하면 : std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); 그런 다음 메서드에 인수로 전달하고 싶었습니다. DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } 위의 내용은 단순히 shared_pt의 참조 횟수를 증가시키고 모든 것이 멋지나요? 아니면 매달린 포인터를 남기나요? 그래도 이렇게해야합니까? : DoSomething(myClassObject.Get()); void DoSomething(std::shared_ptr&lt;myClass&gt;* arg1) { …


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