«c++11» 태그된 질문

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

13
C ++ 11 용 Sequence-zip 함수?
새로운 범위 기반 for 루프를 사용하면 다음과 같은 코드를 작성할 수 있습니다. for(auto x: Y) {} 어떤 IMO가 (예를 들어) 크게 개선되었습니다. for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Pythons zip함수 처럼 두 개의 동시 루프를 반복하는 데 사용할 수 있습니까 ? Python에 익숙하지 않은 사용자를 위해 코드 : Y1 = [1,2,3] …
100 c++  c++11  sequences 



4
std :: function은 어떻게 구현됩니까?
내가 찾은 소스에 따르면 람다 식은 기본적으로 컴파일러에서 오버로드 된 함수 호출 연산자와 참조 된 변수를 멤버로 사용하는 클래스를 생성하여 구현됩니다. 이는 람다 식의 크기가 다양하고 참조 변수가 충분히 주어지면 크기가 임의로 클 수 있음을 나타 냅니다. An std::function은 고정 된 크기를 가져야 하지만 같은 종류의 람다를 포함하여 모든 종류의 …
99 c++  c++11  lambda 

4
복사 한 다음 이동하는 이유는 무엇입니까?
누군가가 객체를 복사하여 클래스의 데이터 멤버로 옮기기로 결정한 코드를 보았습니다. 이로 인해 이동의 요점이 복사를 피하는 것이라고 생각했기 때문에 혼란 스러웠습니다. 다음은 그 예입니다. struct S { S(std::string str) : data(std::move(str)) {} }; 내 질문은 다음과 같습니다. 왜 우리는 rvalue 참조를받지 str않습니까? 사본은 특히 비싸지 std::string않습니까? 저자가 사본을 만들고 이동하기로 …

2
가변 템플릿의 맥락에서“…”토큰에 대한 규칙은 무엇입니까?
C ++ 11에는 다음과 같은 가변 템플릿이 있습니다. template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } 약간의 호기심이에 대해 다음과 같습니다 표현이 std::forward<Args>(args)...모두 사용 Args하고 args있지만, 단 하나의 ...토큰. 또한 std::forward하나의 템플릿 매개 변수와 하나의 인수 만 취하는 비가 변 템플릿 함수입니다. …

6
생성자 이니셜 라이저에서 멤버 배열 초기화
class C { public: C() : arr({1,2,3}) //doesn't compile {} /* C() : arr{1,2,3} //doesn't compile either {} */ private: int arr[3]; }; 그 이유는 배열이 =구문으로 만 초기화 될 수 있다는 것입니다. int arr[3] = {1,3,4}; 질문 내가 원하는 일을 어떻게 할 수 있습니까 (즉, 생성자에서 배열을 초기화 합니다 …

12
벡터에서 항목을 제거하는 동안 C ++ 11 범위 'for'루프에서?
나는 IInventory *의 벡터를 가지고 있으며, 각각에 대해 작업을 수행하기 위해 C ++ 11 범위를 사용하여 목록을 반복하고 있습니다. 하나를 가지고 몇 가지 작업을 한 후 목록에서 제거하고 개체를 삭제하고 싶을 수 있습니다. delete포인터를 정리하기 위해 언제든지 호출 할 수 있다는 것을 알고 있지만 범위 for루프 에있는 동안 벡터에서 포인터를 …
98 c++  vector  for-loop  c++11 

4
'튜플'과 '넥타이'를 통해 비교 연산자를 구현하는 것이 좋습니다.
(참고 : tuple그리고 tieBoost 또는 C ++ 11에서 가져올 수 있습니다.) 요소가 두 개인 작은 구조체를 작성할 때 strict-weak-ordering std::pair과 같이 해당 데이터 유형에 대해 모든 중요한 작업이 이미 수행 되었기 때문에를 선택하는 경향이 있습니다. operator<. 단점은 거의 쓸모없는 변수 이름입니다. 나 자신이 그 창조하더라도 typedef, 나는 2 일 후 …

6
알 수없는 크기의 std :: array를 함수에 전달
C ++ 11에서 std :: array의 알려진 유형이지만 크기를 알 수없는 함수 (또는 메서드)를 작성하려면 어떻게해야합니까? // made up example void mulArray(std::array<int, ?>& arr, const int multiplier) { for(auto& e : arr) { e *= multiplier; } } // lets imagine these being full of numbers std::array<int, 17> arr1; std::array<int, …
98 c++  c++11  stdarray 

8
initializer_list 및 이동 의미 체계
요소를 외부로 이동할 수 std::initializer_list<T>있습니까? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } 때문에 std::intializer_list<T>특별한 컴파일러주의가 필요하며 C ++ 표준 라이브러리의 일반 컨테이너와 같은 값의 의미가없는, 내가 오히려 미안한 것보다 안전한 물어 것입니다.

4
std :: system_clock과 std :: steady_clock의 차이점은 무엇입니까?
std::system_clock과 의 차이점은 무엇입니까 std::steady_clock? (다른 결과 / 동작을 보여주는 예제 사례가 좋습니다). 내 목표가 (벤치 마크와 같은) 함수의 실행 시간을 정확하게 측정하는 것이라면 std::system_clock, std::steady_clock과 사이에서 가장 좋은 선택은 std::high_resolution_clock무엇일까요?
97 c++  c++11  timer  chrono 

2
C ++ 11 람다 구현 및 메모리 모델
C ++ 11 클로저에 대해 올바르게 생각 std::function하는 방법과 구현 방법 및 메모리 처리 방법 에 대한 정보를 원합니다 . 나는 조기 최적화를 믿지 않지만 새로운 코드를 작성하는 동안 내 선택의 성능 영향을 신중하게 고려하는 습관이 있습니다. 또한 비 결정적 메모리 할당 / 할당 해제 일시 중지를 피해야하는 마이크로 컨트롤러 …
97 c++  memory  lambda  c++11 

1
위임 생성자를 사용하는 동안 멤버 초기화
나는 C ++ 11 표준을 시도하기 시작했고 init 메소드 등을 피하기 위해 동일한 클래스의 다른 ctor에서 ctor를 호출하는 방법을 설명하는 이 질문을 발견 했습니다 . 이제 다음과 같은 코드로 동일한 작업을 시도하고 있습니다. hpp : class Tokenizer { public: Tokenizer(); Tokenizer(std::stringstream *lines); virtual ~Tokenizer() {}; private: std::stringstream *lines; }; cpp …


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