목록전체 글 (156)
승쨩개발공부
지역 변수와 전역 변수 -> 함수를 구현할 떄 사용한 {} 괄호를 기준으로 -> 내부에 선언되어 있으면 지역 변수 -> 외부에 선언되어 있으면 전역 변수 지역 변수와 전역 변수의 차이점 -> 메모리에 상주하는 기간의 차이 -> 변수에 접근할 수 있는 범위 지역변수 -> 메모리에 상주하는 기간 -> 함수가 시작되고, 종료될 떄까지만 메모리에 상주한다. -> 변수에 접근할 수 있는 범위 -> 해당 stack에 선언된 변수만 접근할 수 있다 -> 지역 변수와 매개 변수는 함수가 시작 되었을 떄 할당 시점에 들어가고, -> 종료 되었을 떄 소멸 시점에 들어가게 되며 -> 후입 선출형 구조 LIFO(Last-in, First-Out)로 되어있다. 여기서 a와 b는 main함수의 stack 영역에 할당이 된다. -..
진수 숫자를 표현하는 방법 진수의 종류 진수 변환 방법 1. 10진수 -> 2진수 -> 10진수의 값을 2로 나눠서 몫이 1이 되어 나누어 지지 않을 떄까지 나누어 준다. -> 그 후에 몫 1과 나머지 값을 아래부터 위에 순서로 명시해준다. 90 -> 1011010 2. 10진수 -> 8진수 -> 10진수의 값을 8로 나눠서 남은 숫자가 1이 나올떄까지 나눠준다. 90 -> 0132 3. 10진수 -> 16진수 -> 10진수의 값을 16으로 나눌 수 없을 떄까지 나눠준다. -> 나눌 수 없을떄 몫을 0x앞에 나머지를 몫의 뒤에 명시해준다. 90 -> 0x5A 4. 8진수, 16진수 -> 2진수 -> 각 진수의 결과 값을 2진수로 풀어서 계산 -> 8진수 ex) 0132 = 1011010 -> 90 -> ..
싱글톤 패턴 -> 오직 한 개의 클래스 객체(instance)만을 갖도록 보장하고, 이에대한 전역적인 접근접을 제공 -> 쉽게 구현이 가능해서 자주 사용되는 디자인 패턴 중 하나로 계속 생성하여도 실제로 생성되는 객체는 하나가 된다. -> 최초 이후에 호출된 생성자는 최초의 객체를 리턴하는 방식. -> 공통적으로 쓰이는 자원을 관리, 저장하는 객체를 만들 떄 자주 사용됨. 예를들어 게임에서 PlayerObject 같은 단일 객체 일 경우 싱글턴 패턴을 사용하면 관리가 편해짐. 싱글톤 패턴 단점 -> 싱글톤 객체(instance)가 너무 많은 일을 해서 많은 데이터를 공유시킬 경우 다른 클래스의 인스턴스들 간의 결합도가 높아진다. -> 멀티스레드 환경에서 동기화 처리를 해줘야 한다. 동기화 처리를 하지 않..
std::vector push_back 멤버 함수 push_back은 vector의 끝에 요소를 추가할떄 사용하는 함수 std:vector emplace_back C+11 부터 추가된 멤버함수 push_back과 같이 vector의 요소 끝에 원소를 추가하는 함수. push_back/emplace_back 차이점 두 함수의 가장 큰 차이점은, push_back과 같은 삽입 함수들은 삽입할 객체를 받지만 emplace_back과 같은 생성 삽입 함수는 삽입할 객체의 생성자를 위한 인자들을 받아 std::vetor 내에서 직접 객체를 생성하여 삽입하므로 임시 객체의 생성과 파괴, 복사를 하지 않아도 되서 성능상 더 유리하다.
map -> map의 원소는 key와 value를 한 쌍으로 가진다. -> 각 원소들은 삽입 시에 key값에 따라 자동 정렬이 발생한다.(순회 가능) -> 노드 기반 컨테이너들 중 유일하게 key값을 통한 임의 접근이 가능하다. -> 리소스 탐색용으로 많이 사용된다. -> 단, 중복된 key값은 허용하지 않는다. map 선언 map 사용 -> map은 key와 value를 한 쌍으로 가진 컨테이너이다. -> key로 사용할 자료형과 value로 사용할 자료형을 안에 명시해주면 된다. -> 명시한 순서대로 key와 value의 타입이 결정된다. map의 원소 삽입 map은 원소 삽입 시 key 값에 따라 자동 정렬이 발생한다. -> 자동 정렬이 발생하기 떄문에 앞,뒤 원소 삽입의 의미가 없으므로 push ..