«c++11» 태그된 질문

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

8
“while (1);”최적화 C ++ 0x에서
업데이트, 아래 참조! C ++ 0x를 사용하면 컴파일러가 다음 스 니펫에 대해 "Hello"를 인쇄 할 수 있습니다. #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } 분명히 스레드 및 최적화 기능과 관련이 있습니다. 이것은 많은 사람들을 놀라게 할 수 있다고 생각합니다. 누군가 이것이 왜 이것이 허용되어야했는지에 …

7
boost :: thread 및 boost :: mutex를 c ++ 11에 해당하는 것으로 대체하는 것이 현명합니까?
동기 부여 : 내가 생각하는 이유는 내 천재 프로젝트 관리자가 부스트가 또 다른 의존성이라고 생각하고 "당신이 그것에 의존"하기 때문에 끔찍하다고 생각하기 때문입니다. 내가하고 싶은 작은 이유는 사람들이 코드 작성을 시작하기 때문에 c ++ 11 기능을 배우고 싶기 때문입니다. #include<thread> #include<mutex>부스트와 부스트 간에 1 : 1 매핑이 있습니까? 부스트 항목을 c …

6
main ()이 종료되면 분리 된 스레드는 어떻게됩니까?
내가 시작한 std::thread다음 detach()스레드를 실행 한다고 가정 하면 스레드 std::thread가 한 번 표현 했지만 스레드가 계속 실행되지 않습니다 . 또한 프로그램에 분리 된 스레드 1 을 결합하기위한 신뢰할 수있는 프로토콜이 없으므로 분리 된 스레드가 main()종료 될 때에도 계속 실행 됩니다. 표준에서 (더 정확하게는 N3797 C ++ 14 초안에서) 아무것도 찾을 …

6
왜 std :: move std :: shared_ptr을 사용합니까?
Clang 소스 코드를 살펴본 결과이 스 니펫을 발견했습니다. void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } 왜 내가 원하는 것 ?std::movestd::shared_ptr 공유 리소스에 대한 소유권을 이전 할 수 있습니까? 왜 대신 대신이 작업을 수행하지 않습니까? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }

1
enum 클래스에 static_cast 유효하지 않은 경우 어떻게됩니까?
이 C ++ 11 코드를 고려하십시오. enum class Color : char { red = 0x1, yellow = 0x2 } // ... char *data = ReadFile(); Color color = static_cast<Color>(data[0]); data [0]이 실제로 100이라고 가정합니다. 표준에 따라 색상이 어떻게 설정됩니까? 특히 나중에 나중에하면 switch (color) { // ... red and yellow …
146 c++  c++11 


4
멤버 함수 내 람다 캡처 목록에서 멤버 변수 사용
다음 코드는 gcc 4.5.1로 컴파일되지만 VS2010 SP1에서는 컴파일되지 않습니다. #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; cout<<i<<endl; }); } int main() { return …

7
C ++ 자동 키워드. 왜 마법인가?
C ++을 배우기 위해 사용한 모든 자료에서 auto항상 어떤 목적에도 도움이되지 않는 이상한 저장 기간 지정자였습니다. 그러나 최근에는 코드를 유형 이름으로 사용하는 코드가 발생했습니다. 호기심으로 나는 그것을 시도했고, 그것에 할당 된 일의 유형을 가정합니다! 갑자기 STL 이터레이터와 템플릿을 사용하는 것은 10 배나 작성하기 쉽습니다. 파이썬과 같은 '재미있는'언어를 사용하고있는 것 같습니다. …
145 c++  types  c++11  auto 

12
왜 누군가가 unorder_set 대신 set을 사용합니까?
C ++ 0x는 다른 곳에서도 unordered_set사용할 수있는 것을 소개 boost합니다. 내가 이해하는 unordered_set것은 O(1)조회 복잡도 가있는 해시 테이블입니다 . 반면에 조회 복잡성이 set있는 나무 log(n)일뿐입니다. 왜 지구상에서 누군가 set대신에 사용 unordered_set하겠습니까? 즉 set더 이상 필요 합니까?

1
C ++에서 "using"키워드의 논리는 무엇입니까?
C ++에서 "using"키워드의 논리는 무엇입니까? 그것은 다른 상황에서 사용되며 모든 사람들이 공통점이있는 것을 찾으려고 노력하고 있으며 "using"키워드가 그와 같이 사용되는 이유가 있습니다. using namespace std; // to import namespace in the current namespace using T = int; // type alias using SuperClass::X; // using super class methods in derived class
145 c++  c++11 

14
C ++에서 auto로 변수를 선언하는 데 단점이 있습니까?
그 보인다 auto새로운 언어를 많이 따를 것으로 보인다 C ++ 11에 추가 할 수있는 매우 중요한 기능이다. 파이썬과 같은 언어와 마찬가지로 명시 적 변수 선언을 보지 못했습니다 (파이썬 표준을 사용할 수 있는지 확실하지 않습니다). auto변수를 명시 적으로 선언하는 대신 선언 하는 데 단점이 있습니까?


14
C ++ 11의 재귀 람다 함수
저는 C ++ 11을 처음 사용합니다. 다음 재귀 람다 함수를 작성하고 있지만 컴파일하지는 않습니다. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; else …
143 c++  c++11  lambda 

4
C ++ 11에서 값별 전달이 합리적인 기본값입니까?
전통적인 C ++에서는 값을 함수와 메소드에 전달하는 것이 큰 객체의 경우 속도가 느리고 일반적으로 눈살을 찌푸립니다. 대신 C ++ 프로그래머는 참조를 전달하는 경향이 있지만 속도는 빠르지 만 소유권과 특히 메모리 관리 (객체가 힙 할당되는 경우)와 관련된 모든 종류의 복잡한 질문을 유발합니다. 이제 C ++ 11에는 Rvalue 참조와 이동 생성자가 있습니다. …
142 c++  coding-style  c++11 


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