[전공] 20

[C++ 자료구조론] 3장 스택과 큐

템플릿 template 클래스와 함수의 재사용에 기여 템플릿/ 인수화 타입을 이용해 소프트웨어 개발 시간과 비용 절약 SelectionSort 선택 정렬 기법을 이용해 n ≥1 개의 서로 다른 T의 집합을 정렬 사용 시 주의사항 사용자 정의 데이타 타입에 대해서는 별도로 정의해야 한다. template // 이 부분을 반드시 넣어야 한다. void SelectionSort(T *a, const int n) { // n개의 T a[0]부터 a[n-1]까지 비감소 순으로 정렬한다. for ( int i = 0; i < n; i++) { int j = i; // a[i]와 a[n-1] 사이에 가장 작은 T를 찾는다 for (int k = i + 1; k < n; k++) if (a[k] < a[j]) j = ..

[C++ 자료구조론] 2장 배열

추상 데이타 타입과 C++ 클래스 명세와 구현을 구별하고 사용자로 부터 ADT의구현을 은닉하기 위해 클래스(class) 제공 클래스 구성 클래스 이름 데이터 멤버 (멤버 변수) 멤버 함수 💡 프로그램 접근 레벨 : public, private, protected public : 프로그램 어디에서도 접근 private : 같은 클래스 내, friend로 선언된 함수나 클래스에 의해 접근 protected : 같은 클래스 내, 서브클래스, friend에 의해서만 접근 데이터 추상화와 캡슐화 데이터 멤버 모두 private 또는 protected로 선언해 캡슐화 멤버 함수 외부에서 접근할 것은 public으로 선언하고 나머지는 private이나 protected로 선언 멤버 함수의 구현은 inline 함수로 ..

[C++ 자료구조론] 1장 기본 개념

대형 컴퓨터 시스템 💡 설계 및 구현 방법론 데이터 추상화 알고리즘 명세 성능 분석과 측정 대형 컴퓨터 프로그램 복잡하게 상호작용하는 부품들로 구성된 시스템 like 하드웨어 시스템 생명 주기가 있음 why? 유지보수를 위해 시스템 생명 주기 System Life Cycle 💡 요구사항 - 분석 - 설계 - 정제와 코딩 - 검증 (과정을 하나라도 생략하면 안 된다.) 요구사항 requirement 프로젝트들의 목적을 정의한 명세들의 집합 고객의 요구에 맞게 입력과 출력에 관한 정보를 기술 분석 analysis 문제들을 다룰 수 있는 작은 단위들로 나눔 = 분할 정복 Divide and Conquer 상향식 bottom-up VS 하향식 top-down 상향식은 C의 함수처럼 기능 위주로 나눈다. 버그 난..

[명품 C++] 11 C++ 입출력 시스템

출처 : 명품 C++ Programming (저자 황기태) 객체지향프로그래밍 스트림 데이터의 흐름, 혹은 데이터를 전송하는 소프트웨어 모듈 스트림의 양 끝은 프로그램과 장치 연결 입출력 기본 단위 - 바이트 C++ 스트림 종류 입력 스트림 입력 장치, 네트워크, 파일 → 프로그램 출력 스트림 프로그램 → 출력장치, 네트워크, 파일 C++ 입출력 스트림 버퍼 키 입력 스트림의 버퍼 입력장치로부터 입력된 데이터를 프로그램으로 전달하기 전에 일시 저장 키 입력 도중 수정 가능 키가 입력된 시점 부터 키 입력 버퍼에서 프로그램이 읽기 시작 스크린 출력 스트림 버퍼 프로그램에서 출력된 데이터를 출력 장치로 보내기 전에 일시 저장 출력 장치를 반복적으로 사용하는 비효율성 개선 버퍼가 꽉 차거나 강제 출력 명령(fl..

[전공] 2022.06.06

[명품 C++] 10 템플릿과 표준 템플릿 라이브러리 STL

출처 : 명품 C++ Programming (저자 황기태) 객체지향프로그래밍 일반화와 템플릿 제네릭 또는 일반화 함수나 클래스를 일반화시키고, 매개 변수 타입을 지정하여 틀에서 찍어내듯이 함수나 클래스 코드를 생산하는 기법 템플릿 변수나 매개 변수의 타입만 다르고, 코드 부분이 동일한 함수를 일반화 시킴 함수나 클래스를 일반화하는 도구 template 키워드 사용 제네릭 타입 - 일반화를 위한 데이터 타입 template template template void myswap (T & a, T & b) { T tmp; tmp = a; a = b; b = tmp; } 템플릿으로부터의 구체와 구체화 - 템플릿의 제네릭 타입에 구체적인 타입 지정 템플릿 함수로부터 구체화된 함수의 소스 코드 생성 컴파일 될 때 ..

[전공] 2022.06.06