본문 바로가기

전체 글140

c/c++ const 예약어 const 예약어는 변수, 포인터, 멤버함수, 객체를 상수화 시키는 예약어 이다. 상수란 변경할수 없는 고유한 값을 뜻하며. const 상수와 #define 상수가 있다. 변수, 객체는 각각 자료형의 앞에 const 예약어를 붙인다. 멤버 함수의 경우 함수명 뒤에 붙인다. 이렇게 되면 전부 상수화 되어 변수는 값을, 멤버함수는 함수 내부에서 멤버변수를 변경할수 없게, 객체는 멤버 변수를 다른 데이터로 변경할수 없게 한다. 포인터의 경우는 두가지로 나뉘는데 //상수를 가리키는 포인터. const int * cp; //포인터 변수에 저장된 주소가 상수화 되는 포인터. int * cosnt pc; //완전 상수. 포인터든 값이든 절대 변경불가. const int * const cpc; 첫번째 경우는 이미 정의.. 2020. 1. 6.
c/c++ 배열, 동적할당 배열 : 같은 자료형의 연관된 변수들을 하나로 묶어서 사용하는 자료구조. ex) int 형 배열 1 2 3 4 5 6 7 8 9 char 형 배열 h e l l o 배열의 선언 및 초기화 변수명 뒤에 대괄호를 쓰고 그 안에 배열의 크기를 작성한다. 초기화는 중괄호에 콤마로 구분하여 작성하고. 추후에 배열 요소에 인덱스로 접근하여 값을 변경할 수 있다. int arr[5] = {1,2,3,4,5}; int arr2[10]; for(int i=0; i>10; ++i) { arr2[i] = i; } 배열의 인덱스 배열을 사용할 때는 인덱스로 접근하는 방법과, 포인터 연산을 이용해 접근하는 방법이 있다. 인덱스란 배열의 각 요소를 가리키는 번호로 배열의 요소수가 n 개라면 인덱스의 범위는 0부터 n-1 까지이다.. 2020. 1. 6.
Design Pattern - Command 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴이다. command : 실행될 요청에 대한 인터페이스. execute 메서드를 가상함수로 선언해 최상위 부모클래스로 만듦. Concrete Command : 실제로 실행될 요청 기능을 구현한 클래스. command 클래스를 상속 받아 execute 메서드를 구현. receiver : Concrete Command에서 구현된 기능을 실행하기 위해 사용하는 클래스. invoker : 기능 실행을 요청하는 호출 클래스. client : 어느 시점에 어느 커맨드를 실행할지 결정하는 객체. #include #include #include usi.. 2020. 1. 3.
Design Pattern 프로그램 설계시에 자주 반복되고 나타나는 문제들을 위해 고안된 프로그램 패턴. 3가지의 구조로 구성됨. 문맥 : 문제가 발생하는 상황. 문제 : 해결해야될 제약 사항과 상황, 디자인 이슈들, 인과관계 등. 해결 : 문제를 해결하기위한 설계요소와 요소사이의 관계, 책임, 협력등. 구현법이나 언어에 종속되지않은 템플릿. 생성 패턴 객체 생성에 대한 패턴. 객체 생성, 조합들을 캡슐화해 객체의 생성, 변경에 프로그램 구조가 영향 받지 않도록 유연성을 제공하는 패턴들. ex) 싱글턴(singleton), 프로토 타입(Prototype), 빌더(Builder), 추상 팩토리(Abstract Factory), 팩토리 메서드(Factory Method) 구조 패턴 클래스, 객체를 조합해 더 큰 구조를 만드는 패턴. .. 2020. 1. 3.