본문 바로가기

분류 전체보기337

구조체 내부에서 연산자 오버로딩 아래의 구문을 이해하기까지 꽤나 시간이 걸렸지만 이해한것이 있어 적어두고자 한다 bool operator < (const Point & a) const { if (x == a.x) return y < a.y; // 호출없이 쓰면 기존 구조체의 멤버 return x < a.x; // a로 호출해서 쓰면 구조체 a의 멤버 }operator < (기존 비교 연산자 a.y; } return x < a.x; } }; 위 식의 경우는 x가 1순위로 오름차순, y가 2순위로 내림차순, z가 3순위로 오름차순 정렬이라는 것을 알 수 있다 2022. 6. 9.
배열 제어 함수 fill() : 특정 위치의 배열을 초기화한다 fill(시작위치, 끝나는 위치, 초기화 값) // 끝나는 위치 = 마지막 요소 뒤의 위치 memset() : 배열 전체를 초기화 한다 memset(초기화 대상 배열, 초기화 값, 배열의 크기) memcpy() : 배열의 값을 다른 위치의 메모리에 복사한다 (=배열 값을 다른 배열에 복사) 배열의 값을 수정 시 원본을 온전히 남기고 싶을때, 배열 temp 에 원본 배열 a를 복사하면 a를 수정해도, temp 에 담은 a의 데이터를 복사해와서 다시 a를 만들어 복구할 수 있다 memcpy(붙여넣을 곳의 배열명, 복사할 배열명, sizeof(복사할 배열명) // a를 수정하는 로직을 구현 후, 다시 a를 원상복귀 할때 아래와 같이 사용한다 memcpy(temp,.. 2022. 6. 8.
백터 제어 함수들 push_back() : 백터 맨 뒤에 요소를 더한다 pop_back() : 백터 맨 뒤를 지운다 erase() : 특정 위치 사이의 요소를 지운다 find() : 처음부터 반복자를 돌려서 요소를 찾는다. 찾는게 없다면 백터 맨 뒤(마지막 요소의 끝) 의 위치를 가진다. vector 가 아닌 algorithm 에서 제공하는 함수이다 clear() : 배열을 초기화하는 함수이다 2022. 6. 8.
[c++] 벡터 순회에 사용하는 for문 벡터안의 각각의 모든 요소들마다 구현하고 싶다면 아래와 같이 사용가능하다 for(자료형 변수명1 : 순회할벡터변수명2) 구현부 변수명1은 구현부에서만 쓰이며, 변수명1의 자료형은 초기값에 따라 변하는 자료형인 auto로 대체도 가능하다 2022. 6. 8.