본문 바로가기

{Programing}131

c/c++ 템플릿 템플릿(template)이란 함수 오버로딩 같이 자료형에 따라 같은 코드를 여러번 작성해야하던 번거로움을 임의의 자료형으로 대체하여 한번만 작성해도 되도록 만들어주는 기법. 함수 템플릿 : 함수의 기능은 명확하게. 입출력은 모호하게. template T sum(T a, T b) { return a+b; } 여기에서 첫줄은 템플릿 자료형을 정의 하는 부분이고, 나머지가 템플릿 함수이다. 입력되는 자료형. 반환형 모두 템플릿 자료형을 사용하여 어떤 자료형이 들어오더라도 처리할 수 있게 한 것. 템플릿을 여러개 써도 된다. template void printAll(T1 a, T2 b) { cout 2020. 1. 13.
List - Single 선형 구조 : 데이터가 직선 모양으로 저장된 구조. 비선형 구조 : 데이터가 여러 갈래로 이어저 저장된 구조. 리스트 : 선형 자료 구조의 대표. 삽입, 삭제, 검색 등의 기본 연산을 통해 자료를 다룸. 배열리스트, 링크드 리스트 노드 : 자료구조에서 사용하는 기본 단위 명칭. 기본 자료형, 구조체, 클래스 등 다양한 변수를 사용 할 수 있다. 배열 리스트 : 배열로 구현한 리스트. 링크드 리스트 : 리스트 각 노드가 연결 되어 있는 리스트. 싱글, 더블 링크드 리스트가 있다. 싱글 링크드 리스트 : 리스트 노드를 앞 -> 뒤로 한 방향으로 연결한 리스트. 더블 링크드 리스트 : 리스트 노드를 앞 -> 뒤, 뒤 -> 앞 양방향으로 연결한 리스트. 내가 작성한 코드 https://github.com/kal.. 2020. 1. 13.
c/c++ enum, preprocesser 열거형 : 정수형 상수들을 알아보기 쉬운 별칭으로 명명해 묶어두는 방식. 각 요소들은 순서대로 1씩 증가하는 값을 가지게 됨. 초기값 : 일반 변수의 값 초기화 처럼 사용하는 값. 이 값을 기준으로 다음 열거형 값부터 1씩 증가되는 값을 가짐. enum DayOfWeek { // 열거형 정의 Sunday = 0, // 초깃값 할당 Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; /* typedef enum _DayOfWeek { // 열거형 이름은 _DayOfWeek Sunday = 0, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } DayOfWeek; // typedef를 사용하여 열거형 별칭.. 2020. 1. 6.
c/c++ const 예약어 const 예약어는 변수, 포인터, 멤버함수, 객체를 상수화 시키는 예약어 이다. 상수란 변경할수 없는 고유한 값을 뜻하며. const 상수와 #define 상수가 있다. 변수, 객체는 각각 자료형의 앞에 const 예약어를 붙인다. 멤버 함수의 경우 함수명 뒤에 붙인다. 이렇게 되면 전부 상수화 되어 변수는 값을, 멤버함수는 함수 내부에서 멤버변수를 변경할수 없게, 객체는 멤버 변수를 다른 데이터로 변경할수 없게 한다. 포인터의 경우는 두가지로 나뉘는데 //상수를 가리키는 포인터. const int * cp; //포인터 변수에 저장된 주소가 상수화 되는 포인터. int * cosnt pc; //완전 상수. 포인터든 값이든 절대 변경불가. const int * const cpc; 첫번째 경우는 이미 정의.. 2020. 1. 6.