«c++11» 태그된 질문

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

4
C ++ 11에서 유형을 이동 불가능하게 만드는 경우
나는 이것이 내 검색 결과에 나타나지 않는다는 것에 놀랐습니다. 나는 C ++ 11에서 이동 의미론의 유용성을 고려할 때 누군가 전에 이것을 물었을 것이라고 생각했습니다. 언제 C ++ 11에서 클래스를 이동 불가능하게 만들어야합니까 (또는 좋은 생각입니까)? (이유는 다른 것입니다 기존 코드와의 호환성 문제보다.)

6
이동 할당 연산자 및`if (this! = & rhs)`
클래스의 할당 연산자에서 일반적으로 할당되는 객체가 호출 객체인지 확인해야하므로 문제가 발생하지 않습니다. Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this; } 이동 할당 연산자에 대해 동일한 것이 필요합니까? this == &rhs사실이 될 상황이 있습니까? ? Class::operator=(Class&& rhs) { ? }

2
같은 이름의 Lambda 캡처 및 매개 변수-누가 다른 사람을 섀도 잉합니까? (clang 대 gcc)
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 이상 은 "You 're using clang ++!"을 출력합니다. 캡처 foo 가 사용되지 않았 음을 경고합니다 . g ++ 4.9.0 이상 은 "You 're using g ++!"을 출력합니다. 사용되지 않는 매개 …

3
1.0은 std :: generate_canonical의 유효한 출력입니까?
난 항상 임의의 숫자는 0과 1 사이에 거짓말을 생각 하지 않고1 , 그들은 반 개방 구간 [0,1)에서 숫자 즉. cppreference.com에 documention 의 std::generate_canonical확인한다이. 그러나 다음 프로그램을 실행할 때 : #include <iostream> #include <limits> #include <random> int main() { std::mt19937 rng; std::seed_seq sequence{0, 1, 2, 3, 4, 5, 6, 7, 8, …
124 c++  c++11  random 

2
C ++ 11 람다는 사용하지 않는 변수를 캡처합니까?
를 사용 [=]하여 모든 지역 변수를 람다의 값으로 캡처 하려는 경우 함수의 모든 지역 변수가 복사되거나 람다에서 사용되는 모든 지역 변수 가 생성 됩니까? 예를 들어 다음과 같은 경우 vector<int> my_huge_vector(100000); int my_measly_int; some_function([=](int i){ return my_measly_int + i; }); my_huge_vector는 람다에서 사용하지 않아도 복사됩니까?
124 c++  lambda  c++11 

3
이 포인터를 사용하면 핫 루프에서 이상한 최적화 해제가 발생합니다.
최근에 이상한 최적화 해제 (또는 최적화 기회를 놓친 경우)를 발견했습니다. 3 비트 정수에서 8 비트 정수로 구성된 배열을 효율적으로 풀기 위해이 함수를 고려하십시오. 각 루프 반복에서 16 개의 int를 풉니 다. void unpack3bit(uint8_t* target, char* source, int size) { while(size > 0){ uint64_t t = *reinterpret_cast<uint64_t*>(source); target[0] = t & …

5
C ++ 11이 C99로 지정된 이니셜 라이저 목록을 지원하지 않는 이유는 무엇입니까? [닫은]
닫힘 . 이 질문은 의견 기반 입니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 이 질문 개선 치다: struct Person { int height; int weight; int age; }; int …
121 c++  c  c++11  initialization  c99 

6
오류 : 삭제 된 기능 사용
친구가 작성한 일부 C ++ 코드를 작업하고 있는데 gcc4.6으로 컴파일 할 때 이전에 본 적이없는 다음 오류가 발생합니다. error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the default definition would be ill-formed: uninitialized non-static const member ‘const h_t FlopPokerGameFSM_<std::array<C, 2ul> >::hdealt::h’ 편집 : 이것은 부스트 ​​MSM을 …

2
std :: tie는 어떻게 작동합니까?
나는 그것에 std::tie대해 많이 생각하지 않고 사용 했습니다. 작동하므로 다음을 수락했습니다. auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } 하지만이 흑 마법 은 어떻게 작동합니까? 어떻게 일시적인가 만든 않습니다 std::tie변화 a와 …
120 c++  c++11  tuples 

2
벡터를 0으로 초기화 C ++ / C ++ 11
나는 C ++ 11에서 변수를 0으로 초기화하는 기능을 추가했다는 것을 알고 있습니다. double number = {}; // number = 0 int data{}; // data = 0 std::vector고정 길이의 a를 모두 0 으로 초기화하는 비슷한 방법 이 있습니까?
118 c++  c++11 

7
C ++ 11에서 COW std :: string 구현의 합법성
copy-on-write는 std::stringC ++ 11에서 준수를 구현하는 실행 가능한 방법이 아니라는 것을 이해 했지만 최근 논의에서이 내용을 직접 지원할 수 없다는 것을 알게되었습니다. C ++ 11이 COW 기반 구현을 인정하지 않는다는 것이 맞 std::string습니까? 그렇다면이 제한이 새로운 표준 (어디)의 어딘가에 명시 적으로 명시되어 있습니까? 또는 std::stringCOW 기반 구현을 배제하는 새로운 요구 …

1
C ++ 11의 async (launch :: async)는 값 비싼 스레드 생성을 피하기 위해 스레드 풀을 쓸모 없게 만들까요?
이 질문과 느슨하게 관련이 있습니다. std :: thread는 C ++ 11에서 풀링됩니까? . 질문은 다르지만 의도는 동일합니다. 질문 1 : 값 비싼 스레드 생성을 방지하기 위해 자체 (또는 타사 라이브러리) 스레드 풀을 사용하는 것이 여전히 타당합니까? 다른 질문의 결론은 std::thread풀링 에 의존 할 수 없다는 것입니다 (그럴 수도 있고 아닐 …

4
gcc에서 C ++ 11을 어떻게 활성화합니까?
Mac OSX Mountain Lion 에서 http://hpc.sourceforge.net의 gcc 4.8.1을 사용 합니다. 에서 to_string함수 를 사용하는 C ++ 프로그램을 컴파일하려고합니다 <string>. -std=c++11매번 플래그를 사용해야합니다 . g++ -std=c++11 -o testcode1 code1.cpp 기본적으로이 플래그를 포함하는 방법이 있습니까?
117 c++11  g++ 


8
런타임에 C ++ 03과 C ++ 11간에 어떤 차이점이 발견 될 수 있습니까?
C 컴파일러로 컴파일하면 0을 반환하고 C ++ 컴파일러로 컴파일하면 1을 반환하는 함수를 작성할 수 있습니다 #ifdef __cplusplus. 예를 들면 : int isCPP() { return sizeof(char) == sizeof 'c'; } 물론 위의 내용은 sizeof (char)다음과 같지 않은 경우에만 작동합니다.sizeof (int) 또 다른 휴대용 솔루션은 다음과 같습니다. int isCPP() { typedef int …

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