728x90
반응형

C++11 6

rvalues, lvalues, xvalues, glvalues, prvalues 사용 방법

질문 : rvalues, lvalues, xvalues, glvalues 및 prvalues는 무엇입니까? C ++ 03에서 표현식은 rvalue 또는 lvalue 입니다. C ++ 11에서 표현식은 다음과 같을 수 있습니다. rvalue lvalue xvalue glvalue prvalue 2 개의 카테고리가 5 개의 카테고리가되었습니다. 이 새로운 범주의 표현은 무엇입니까? 이러한 새 범주는 기존 rvalue 및 lvalue 범주와 어떤 관련이 있습니까? C ++ 0x의 rvalue 및 lvalue 범주가 C ++ 03의 경우와 동일합니까? 이러한 새로운 카테고리가 필요한 이유는 무엇입니까? WG21 신들은 우리를 단순히 인간을 혼동시키려는 것일까 요? 답변 이 문서는 짧은 소개가 아닐 것 같습니다...

C ++ 11에서 T && (&&)가 의미하는 것

질문 : C ++ 11에서 T && (이중 앰퍼샌드)는 무엇을 의미합니까? T&& var 와 같은 변수를 선언 할 때 이중 앰퍼샌드를 발견했습니다. 우선이 짐승은 무엇이라고 불릴까요? Google에서 이와 같은 구두점 검색을 허용하기를 바랍니다. 정확히 무엇을 의미합니까? 언뜻보기에는 이중 참조 (예 : C 스타일 이중 포인터 T** var )로 보이지만 사용 사례를 생각하는 데 어려움을 겪고 있습니다. 답변 rvalue 참조 (표준 제안 문서)를 선언합니다. 다음은 rvalue 참조에 대한 소개입니다. 다음은 Microsoft의 표준 라이브러리 개발자 중 한 명이 작성한 rvalue 참조에 대한 환상적인 심층 분석입니다. 주의 : MSDN의 링크 된 문서 ( "Rvalue 참조 : VC10의 C ++ ..

C ++ 11 rvalue 및 이동 의미 혼란 (return 문)

질문 : C ++ 11 rvalue 및 이동 의미 혼란 (return 문) rvalue 참조를 이해하고 C ++ 11의 의미를 이동하려고합니다. 이 예제의 차이점은 무엇이며 어떤 것이 벡터 복사를하지 않을까요? 1번째 예제 std::vector return_vector(void) { std::vector tmp {1,2,3,4,5}; return tmp; } std::vector &&rval_ref = return_vector(); 2번째 예제 std::vector&& return_vector(void) { std::vector tmp {1,2,3,4,5}; return std::move(tmp); } std::vector &&rval_ref = return_vector(); 3번째 예제 std::vec..

C ++ 11은 표준화 된 메모리 모델의 도입이 미치는 영향

질문 : C ++ 11은 표준화 된 메모리 모델을 도입했습니다. 무슨 뜻이에요? 그리고 그것이 C ++ 프로그래밍에 어떤 영향을 미칠까요? C ++ 11은 표준화 된 메모리 모델을 도입했지만 정확히 무엇을 의미합니까? 그리고 그것이 C ++ 프로그래밍에 어떤 영향을 미칠까요? 이 기사 ( Herb Sutter 를 인용 한 Gavin Clarke의 )는 다음과 같이 말합니다. 메모리 모델은 C ++ 코드가 이제 컴파일러를 만든 사람과 실행중인 플랫폼에 관계없이 호출 할 표준화 된 라이브러리를 가지고 있음을 의미합니다. 서로 다른 스레드가 프로세서의 메모리와 통신하는 방식을 제어하는 표준 방법이 있습니다. Sutter 는 "표준에있는 여러 코어로 [코드]를 분할하는 것에 대해 이야기 할 때 메모리 모델에 대..

C ++ 11에서 람다식이란?

질문 : C ++ 11에서 람다식이 란 무엇입니까? C ++ 11에서 람다식이 란 무엇입니까? 언제 사용합니까? 도입 전에는 불가능했던 문제의 종류는 무엇입니까? 몇 가지 예와 사용 사례가 유용 할 것입니다. 답변 std::for_each 및 std::transform 과 같은 유용한 일반 함수가 포함되어있어 매우 편리합니다. 안타깝게도 특히 적용하려는 펑터 가 특정 기능에 고유 한 경우 사용하기가 매우 번거로울 수 있습니다. #include #include namespace { struct f { void operator()(int) { // do something } }; } void func(std::vector& v) { f f; std::for_each(v.begin(), v.end(), f);..

C ++ 11에서 'typedef'와 'using'의 차이점

질문 : C ++ 11에서 'typedef'와 'using'의 차이점은 무엇입니까? typedef 와 같은 형식 별칭을 작성 using 을 사용할 수 있다는 것을 알고 있습니다. typedef int MyInt; 내가 이해하는 바에 따르면 다음과 같습니다. using MyInt = int; 그리고 그 새로운 구문은 "템플릿 typedef"를 표현하는 방법을 가지려는 노력에서 나왔습니다. template using MyType = AnotherType; 그러나 처음 두 개의 템플릿이 아닌 예제의 경우 표준에 다른 미묘한 차이가 있습니까? 예를 들어 typedef 는 "약한"방식으로 앨리어싱을 수행합니다. 즉, 새 유형을 생성하지 않고 새 이름 만 ..

728x90
반응형