반응형

프로그래밍 34

C++ Universal reference & Reference Collapsing Rules

이전 정리글은 2022.01.07 - [프로그래밍/C/C++] - C++ rvalue reference 우측값 참조 속성 C++ rvalue reference 우측값 참조 속성 이전 정리글 2022.01.06 - [프로그래밍/C/C++] - C++ rvalue reference (우측값 참조) move semantics C++ rvalue reference (우측값 참조) move semantics 이전 정리글은 2022.01.05 - [프로그래밍/C/C++] - C++.. nanze.tistory.com 이번 정리 시간은 C++ 에서의 Universal reference 와 Reference Collapsing Rules 에 대해 정리해보자. Universal reference 유니버설 레퍼런스(uni..

C++ rvalue reference 우측값 참조 속성

이전 정리글 2022.01.06 - [프로그래밍/C/C++] - C++ rvalue reference (우측값 참조) move semantics C++ rvalue reference (우측값 참조) move semantics 이전 정리글은 2022.01.05 - [프로그래밍/C/C++] - C++ Lvalue (좌측값) Rvalue (우측값) Rvalue reference (우측값 참조자) C++ Lvalue (좌측값) Rvalue (우측값) Rvalue reference (우측값 참조자) c++ lvalue.. nanze.tistory.com 우측값(rvalue)은 함수의 인자로 넘어갈 때 우측값 참조자(rvalue reference) 뿐만이 아니라 const 타입의 좌측값 참조자(lvalue refe..

C++ rvalue reference (우측값 참조) move semantics

이전 정리글은 2022.01.05 - [프로그래밍/C/C++] - C++ Lvalue (좌측값) Rvalue (우측값) Rvalue reference (우측값 참조자) C++ Lvalue (좌측값) Rvalue (우측값) Rvalue reference (우측값 참조자) c++ lvalue 와 rvalue lvalue 와 rvalue 라는 무엇인가 ? 말그대로 좌측값과 우측값인데 c++ 에서 의미는 다음과 같이 생각하면 된다. lvalue 같은 경우에는 표현식 이후에도 사라지지 않고 지속되는 변수 또 nanze.tistory.com move semantics move semantics 는 이전 정리에서도 말했지만 객첵의 자원이 다른 객체의 자원으로 이동하는 것을 의미한다. 우측값 참조는 이러한 메카니즘을 ..

C++ Lvalue (좌측값) Rvalue (우측값) Rvalue reference (우측값 참조자)

c++ lvalue 와 rvalue lvalue 와 rvalue 라는 무엇인가 ? 말그대로 좌측값과 우측값인데 c++ 에서 의미는 다음과 같이 생각하면 된다. lvalue 같은 경우에는 표현식 이후에도 사라지지 않고 지속되는 변수 또는 객체라고 생각하면 된다. 사라지지 않는다는 것은 그것을 지칭할 수 있는 무엇인가 있다는 것이고 그것은 "이름"이 될 것이다. 그러니 lvalue 는 이름을 가지고 있다. 따라서 모든 변수는 lvalue 라고 볼 수 있다. 반대로 rvalue 같은 경우 표현식 이후에는 존재하지 않는 임시적인 무엇이다. 임식 객체 또는 상수 등은 rvalue 라고 볼 수 있을 것이다. 다음 코드를 확인해 보자. #include #include int main() { int a = 0; //변..

병렬 프로그래밍 Parallel Programming - run-with-cancellation-token

이전 정리글 2022.01.05 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - task cancel 병렬 프로그래밍 Parallel Programming - task cancel 이전 정리글은 2022.01.05 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - cancellation_token 특성 병렬 프로그래밍 Parallel Programming - cancellation_token 특성 이전 정리.. nanze.tistory.com 이번 포스팅에 정리할 대상은 run_with_cancellation_token 이다. run_with_cancellation_tok..

병렬 프로그래밍 Parallel Programming - task cancel

이전 정리글은 2022.01.05 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - cancellation_token 특성 병렬 프로그래밍 Parallel Programming - cancellation_token 특성 이전 정리글 2022.01.03 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - cancellation_token 병렬 프로그래밍 Parallel Programming - cancellation_token 이전 정리글은 2022.01.. nanze.tistory.com 이번 정리에는 cancellation_token 아 아닌 task 클래스 또는 task_..

병렬 프로그래밍 Parallel Programming - cancellation_token 특성

이전 정리글 2022.01.03 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - cancellation_token 병렬 프로그래밍 Parallel Programming - cancellation_token 이전 정리글은 2022.01.03 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - concurrent_unordered_map 지난 포스팅에 이어 ppl 에서 제공하는 task 들을 취소할 수 있는 방법을 알.. nanze.tistory.com 오늘은 이전 정리에서 알아본 cacellation_token 의 특성을 알아보자. concurrency::cancellatio..

C++ lambda expression 람다 표현식

C++ 11 부터 지원하기 시작한 람다 표현식에 대해서 정리해보자. 람다 표현식의 구성은 다음과 같다. 캡쳐블록 + 파라미터 목록 + mutable (생략) + throw (생략) + 리턴타입 (생략) + 함수바디 [캡쳐블록](파라미터 목록) mutable throw ->리턴타입 {함수바디} 캡쳐블록 캡쳐블록은 [ ] 로 감싸지며 람다 표현식 안에서 참조하는 외부 변수를 지정한다. 변수 지정시 표현식에 따라 의미가 다른데 알아보자. [=] : 외부 모든 변수 값을 복사하며 객체의 멤버함수에서 람다 호출 시 this 포인터도 전달된다. 또한 변수 값으로 복사 시에는 const 로 이루어지기 때문에 기본적으로 수정이 되지 않는다. 값으로 복사 된 변수의 값 수정이 필요할 경우 에는 mutable 키워드를 이..

병렬 프로그래밍 Parallel Programming - cancellation_token

이전 정리글은 2022.01.03 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - concurrent_unordered_map 병렬 프로그래밍 Parallel Programming - concurrent_unordered_map 이전 정리글은 2021.12.30 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - concurrent_vector 자 오늘은 일곱번째 정리시간이다. 호랑이해 들어 첫 포스팅이다. 이번 해에는 호랑.. nanze.tistory.com 지난 포스팅에 이어 ppl 에서 제공하는 task 들을 취소할 수 있는 방법을 알아보자. 개발 공부를 처음 접하거나..

병렬 프로그래밍 Parallel Programming - concurrent_unordered_map

이전 정리글은 2021.12.30 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - concurrent_vector 자 오늘은 일곱번째 정리시간이다. 호랑이해 들어 첫 포스팅이다. 이번 해에는 호랑이 기운 받아 모든 일이 힘차게 잘 나아가서 순조롭게 풀렸으면 한다. 방문하신 모든 분들도.~! 첫번째로 알아볼 것은 이전시간에 다른 자료구조이다. 병렬 멀티셋을 알아보자. concurrency::concurrent_unordered_multiset 해당 자료구조는 중복 값을 가질 수 있는 set 이라고 생각하면 된다. 코드를 보자. #include #include #include using namespace std; int main() { co..

반응형