All250 프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리 https://www.slideshare.net/sunnykwak90/2-43573340 프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리 프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리 www.slideshare.net 정리 예정 2020. 2. 13. 프로그래머가 알아야 하는 메모리 관리 기법 https://www.slideshare.net/sunnykwak90/ss-43933481 프로그래머가 알아야 하는 메모리 관리 기법 프로그래머가 알아야 하는 메모리 관리 기법 Sunny Kwak (sunnykwak@daum.net) www.slideshare.net 정리 예정 2020. 2. 13. [C++] iterator를 이용한 삽입 정렬(Insertion sorting) 구현 - 알고리듬 주어진 vector를 이중 loop를 이용하여 정렬한다. 우선 첫 루프는 이전 요소들과 비교하기 위한 고정 요소를 set하는 루프이다. 고정 요소는 두 번째 요소부터 시작한다.두 번째 루프는 첫 루프의 고정 요소와 비교할 요소를 set하고 정렬을 위한 조건을 검사한다. 내림 차순을 기준으로 고정 요소가 더 크다면 비교 요소의 앞에 삽입되어야 한다. 비교 요소가 더 크다면 올바른 순서이므로 고정 요소이전까지 증가시키며 비교한다. 여기서 핵심 부분은 고정 요소를 비교 요소 앞에 삽입하는 과정이다. vector::insert(iterator, value)를 이용하면 iterator가 가리키는 위치에 value를 삽입할 수 있다. 예를 들어 위 그림의 벡터에서 2를 가리키는 반복자와 3을 인자로 주.. 2020. 2. 13. [C++] insert 함수를 이용하여 vector 합치기 | 벡터(vector) 합치는 법 vector의 insert 멤버 함수를 이용한다. insert는 몇 가지로 오버로딩되어 있는데 그 중 하나를 이용하여 벡터를 합칠 수 있다. 여기서 벡터 A와 벡터 B를 합친다는 의미는 벡터 A의 끝에 벡터 B의 원소를 차례대로 연결한다는 뜻이다. template iterator insert (const_iterator position, InputIterator first, InputIterator last); 위 함수는 position이 가리키는 위치부터 [first, last) 위치의 요소를 추가한다. 따라서 v1 벡터와 v2벡터를 연결하고 싶다면 첫 인자로 v1.end(), 두 번째 인자로 v2.begin(), 세 번째 인자로 v2.end()를 준다. 멤버 함수 end()는 마지막 요소가 아닌 마지.. 2020. 2. 12. [C++] 복사 생성자 및 할당(=) 연산자가 호출되는 시점 | 초기화와 할당의 차이 | RVO(Return Value Optimization) 먼저 초기화(Initializeinitialization)와 할당(Assignment)의 차이부터 살펴보자. 초기화는 객체의 생성과 동시에 초기 값을 설정해주는 것을 말한다. 흔히들 변수 선언만 해놓고 다른 곳에서 값을 할당하는 것을 초기화라고 하는 사람도 있는데, 엄밀히 말하면 이것은 초기화가 아니라 할당이다. 그 이유는, 일단 객체 선언 시 값을 대입을 하지 않으면 객체의 타입에 맞게 알아서 기본 초기화가 된다. 객체가 int, double과 같은 기본 타입(non-class)일 경우는 초기에 값을 할당하지 않을 경우 기본 초기화가 되며, c++에선 기본 타입에 기본 초기화 시 정의되지 않은 쓰레기 값을 갖는다. 반면 string과 같은 class 타입의 객체는 타입에 알맞게 기본 생성자를 호출하여 .. 2020. 2. 7. 좋은 커밋 메세지 작성법 https://blog.ull.im/engineering/2019/03/10/logs-on-git.html 2020. 2. 5. 이전 1 ··· 30 31 32 33 34 35 36 ··· 42 다음