언어 및 엔진/C++(39)
-
[C++] Stack
Stack 함수매개변수, 지역변수 및 기타함수 관련 정보를 저장하는 영역 크기는 개발자가 설정한 만큼
2024.04.18 -
[C++] 가장 빠른 정렬 알고리즘
가장 빠른 정렬 알고리즘 퀵 정렬, 합병 정렬(차선책) 퀵 정렬은 순차적으로 데이터가 들어오면 버블정렬과 다를 바 없이 느림. 그래서 퀵 정렬보다 빠른 머지정렬(합병정렬)이 더 빠름 퀵 정렬 분할정복 방식(Divide And Conquer) 평균적으로 log의 시간 복잡도 -> 다른 정렬 알고리즘에 비해 속도가 빠름. 합병 정렬 안정 정렬. 분할 정복방식 장점 : 안정적임, 링크드 리스트로 구현 시 인덱스만 변경 되기 때문에 데이터의ㅐ 이동 거의 없음 단점 : 배열로 구성 시 임시배열 필요, 크기가 큰 경우 시간소요가 큼
2024.04.18 -
[C++] 온라인 게임에서 효율적인 정렬 알고리즘
온라인 게임에서 효율적인 정렬 알고리즘 삽입 정렬 회원가입을 무작위로 할텐데 그때마다 정렬해야 하기 때문 장점 : 안정적임, 알고리즘이 간단, 이미 대부분 정렬되어 있는 상태에서 매우 효율적 단점 : 많은 레코드들의 이동을 필요로 함, 수가 많고 크기가 클 경우 적합하지 않음
2024.04.18 -
[C++] Public / Protected
Public / Protected 상속 시 public은 모든 클래스에서 사용 가능, 공유자원 protected는 부모 자식간 클래스만 사용 가능
2024.04.18 -
[C++] 동기 / 비동기
동기 / 비동기 동기 : 요청과 결과가 동시에 일어남 함수의 결과를 호출한 곳에서 처리 비동기 : 요청과 결과가 동시에 일어나지 않음 함수의 결과를 호출한 쪽에서 처리하지 않음 블럭 : 함수를 호출했을 때 행위를 다 끝마칠 때까지 기다렸다가 리턴되는 것 논블럭 : 함수를 호출했을 때 기대하는 행위만 하고 리턴되는 것 동기 + 블럭 : 함수를 호출하여 순차적으로 일을 진행 비동기 + 블럭 : 함수를 호출하여 바로 결과를 받고 각자 자신의 일을 진행 동기 + 논블럭 : 함수를 호출하여 바로 결과를 받지만 결과를 받은 쪽에서는 결과를 확인할 뿐, 자신의 일을 하지 않음 비동기 + 논블럭 : 함수를 호출하여 일을 시키고 바로 리턴 후 각자의 일을 함
2024.04.18 -
[C++] 복사생성자 / 이동생성자
복사생성자 / 이동생성자 복사생성자 자기 자신과 같은 형태(자료형)의 객체를 인자로 받을 수 있는 생성자 다른 객체에서 값을 복사하여 초기화 함 호출 형태 : 기존의 객체로 새로운 객체 초기화, 객체를 값에 의해 전달, 리턴 ->복사될 때에는 생성자를 호출하지 않지만, 소멸할 때에는 소멸자 호출(참조자로 호출 시 소멸자는 호출되지 않음) &로 전달, const선언 디폴트 복사생성자 복사생성자 정의 생략 시 자동으로 삽입, 얕은 복사를 하게 된다. 이동생성자 성능향상을 목적으로 함, 불필요한 복사와 임시 변수 없애기 타입&& rValue 복사가 아닌 이동을 함
2024.04.18