일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 멀티코어 프로그래밍
- 스마트포인터
- Design Pattern
- EFFECTIVE C++
- observer pattern
- random access
- 쓰레드
- 메모리관리
- Atomic
- 게임공학과
- Multithread
- 디자인패턴
- thread
- vector
- stl
- 멀티코어
- 옵저버
- c++
- sequential
- MultiCore
- C
- multi-core
- material
- 유니크포인터
- Unreal
- 복사생성자
- 멀티쓰레드
- 프레임워크
- 옵저버 패턴
- 한국산업기술대학교
- Today
- Total
목록복사생성자 (3)
태크놀로지
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/10vka/btqOUlIuTuQ/8bEQtmBCI3P6F51olYNM4k/img.jpg)
자원(resource)이란, 사용을 일단 마치고 난 후엔 시스템에 돌려주어야 하는 모든 것을 말한다. ※ 자원을 가져와서 다 썼으면, 무조건 해제해주어야 한다. 이번 포스팅 내용 객체 기반 방식의 C++가 지원하는 생성자, 소멸자, 객체 복사함수를 사용하여 자원관리 하는것을 다루겠다. 1. 객체를 사용하여 자원을 관리하자 class Investment{ public: Investment() { cout
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/p4Mbn/btqN8eDLctJ/k8R1IdHPBZ5Z9ihe066jJk/img.jpg)
1. 대입연산자는 *this의 참조자를 반환하게 하자 (convention) int x,y,z; x = y = z = 15; 위와 같이 대입연산은 여러개가 사슬처럼 엮일 수 있다. x = (y = (z = 15)); 또 하나의 특성은, 우측 연관 연산이라는 점이다. class Widget{ public: Widget& operator= (const Widget& rhs){ //... return *this; } } 이렇게 대입 연산이 사슬처럼 엮이려면 대입연산자는 좌변인자에 대한 참조자를 반환하도록 구현되어야 한다. (일종의 convention) +=, -=, *= 등 모든 형태의 대입연산자에서도 Convention이 적용된다. 2. operator=에서 자기대입에 대한 처리가 빠지지 않도록 하자 cla..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/blyXwP/btqGgxdYrHO/NuQlgv4N8dOFG39s0yEVN1/img.jpg)
STL std::vector vector가 어떤 방식으로 작동하고 메모리를 관리하는지에 대해 이해해봅시다. vector 컨테이너는 자동으로 메모리가 할당되는 배열입니다. 랜덤 엑세스 구조로 순회하는데는 최고의 성능을 보여주지만, 중간값을 삽입 삭제시 복사 이동연산으로 인해 효율이 많이 떨어지게 됩니다. std::vector 메모리 할당 과정 #include #include using namespace std; class TEST { private: int data; public: // 복사 생성자 TEST(const TEST& other) { cout