본문 바로가기

반응형

대학생코딩공부

(23)
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 2 : 단항 연산자 오버로딩(증감 연산자 오버로딩, 전위증가 및 후위증가의 구분) [문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 2 : 단항 연산자 오버로딩 (증감 연산자 오버로딩, 전위증가 및 후위증가의 구분) 1. 증감 연산자 오버로딩 ++ pos; // pos는 객체 a. 맴버함수로 오버로딩하는 경우 : pos.operator++(); b. 전역함수로 오버로딩하는 경우 : operator++.(pos); #include using namespace std; class Point { // point 클래스 private: int xpos, ypos; public: Point(int x = 0, int y = 0) : xpos(x), ypos(y){ } // 생성자 (x=0, y=0으로 초기화) void ShowPosition() const { // [xpos, ypo..
[문과 코린이의 IT 기록장] C,C++ - static (static이란?, static 맴버 변수, static 맴버변수의 또 다른 접근방법, static 맴버함수, const static 맴버) [문과 코린이의 IT 기록장] C,C++ - static (static이란?, static 맴버 변수, static 맴버변수의 또 다른 접근방법, static 맴버함수, const static 맴버) 1. static이란? : static변수는 지역변수와 전역변수의 성질을 둘 다 가지고 있는 변수이다. 즉, 지역변수처럼 static이 선언된 함수 내에서만 사용이 가능하며, 한번만 초기화를 할 뿐 전역 변수처럼 프로그램이 종료될 때까지 메모리공간에 존재하게 된다. (함수가 반환되도 소멸 X) [ C언어에서 공부한 함수의 static 개념 ] 1) 전역변수에서 선언된 static의 의미 : 선언된 파일 내에서만 참조를 허용하겠다는 의미. 2) 함수 내에 선언된 static의 의미 : 한번만 초기화되고, 지역..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술[(2) 컴퓨터 구조 분야의 8가지 위대한 아이디어] [문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술 [(2) 컴퓨터 구조 분야의 8가지 위대한 아이디어] 1. Moore의 법칙을 고려한 설계 - 18~24개월마다 칩에 집적되는 소자의 수가 2배가 된다. - 우상향 증가 그래프 2. 설계를 단순화하는 추상화 - Moore의 법칙에 따라 자원의 수가 급격하게 증가함에 따라 설계 시간이 길어지는 것을 방지하기 위해 생산성을 높이기 위한 추상화 마련.(단순화) 3. 자주 생기는 일을 빠르게 4. 병렬성을 통한 성능 개선 ex) if, for문 -> 어셈블러 변경 (매우 다양한 프로세서) -> 병렬 처리 5. 파이프라이닝을통한 성능 개선 - 병렬성의 특별한 형태 - 할 일을 분담해서 데이터 전달 6. 예측을 통한 성능 개선 - 비싸..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술[(1) 서론, 컴퓨터 응용 분야의 종류와 그 특성, 포스트 PC 시대, 이 책에서 우리는 어떤 것을 배울 수 있는가?, 프로그램 .. [문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술 [(1) 서론, 컴퓨터 응용 분야의 종류와 그 특성, 포스트 PC 시대, 이 책에서 우리는 어떤 것을 배울 수 있는가?, 프로그램 성능의 이해] 1. 서론 - 국가의 경제는 Moore의 법칙에 따라 빠르게 발전하고 있는 정보기술에 상당히 의존하고 있음 - 정보 기술 산업은 숨 가쁜 속도로 기술 혁신을 거듭하고 있고, 더 우수한 컴퓨터를 지속적으로 만들어 낼 것임. - 컴퓨터는 농업-산업혁명과 같이 제 3차 정보혁명을 가져오며, 일상생활에 근본적인 영향은 물론, 새로운 지식을 탐구하는 방법도 변화시키고 있음 - 컴퓨터 혁명은 지속되고 있는 중임. : 계산 비용이 10배 낮아지면서(메모리 연산속도가 증가하면서) 컴퓨터를 사용할 ..
[문과 코린이의 IT 기록장] C,C++ - This포인터( 숨겨져 있는 this 포인터, 명시적으로 this 참조하기 ) [문과 코린이의 IT 기록장] C,C++ - This포인터( 숨겨져 있는 this 포인터, 명시적으로 this 참조하기 ) [ 클래스의 맴버 함수를 호출할 때, C++은 어떻게 호출할 객체(인스턴스)를 찾는가? ] : 이 질문에 대한 정답은, this라는 숨겨진 포인터를 사용한다는 것이다. - main함수 'simple.SetID(2);'에서 보면, SetID()맴버함수가 객체(인스턴스) simple에서 작동해야 한다는 것을 알고, m_ID는 simple.m_ID를 참조한다. 이 과정이 어떻게 작동되는지 알아보자. 1. 숨겨져 있는 this 포인터 1) simple SetID(2); // 이 코드는 맴버 함수 SetID()가 하나의 인수만 가지고 호출하는 것처럼 보이지만, 실제로는 두 개의 인수를 가지고..
[문과 코린이의 IT 기록장] C,C++ - 클래스, 생성자( 클래스에 대한 이해, 생성자, 매개변수에 따른 생성자 오버로딩, 이니셜라이저(:) 이용, 소멸자 ) [문과 코린이의 IT 기록장] C,C++ - 클래스, 생성자 ( 클래스에 대한 이해, 생성자, 매개변수에 따른 생성자 오버로딩, 이니셜라이저(:) 이용, 소멸자 ) 1. 클래스에 대한 이해 ex ) cf ) 61행에, month == 12? 12 : month & 12에 대한 이해 ? : - 삼항연산자 12 (참, 거짓을 판단할 변수) ? 12(참 일때 사용할 값) : month & 12(거짓일 때 사용할 값) [ 이 코드에서 클래스 관려해 중요시 봐야할 부분 ] 1. 함수의 정의와 몸통이 분리되어 있다. ex. 클래스 내부에, class Date{ ... void Setdate(int year_, int month_, int Date_) ... }; 클래스 외부에, Void Date :: SetDate..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.6. 파이프라인 데이터패스 및 제어 1. 파이프라인 데이터패스 1) MIPS 명령어 파이프라인의 5단계 1. IF(Instruction Fetch) : 명령어 인출 2. ID(Instruction Decode) : 명령어 해독 및 레지스터 파일 읽기 3. EX(Execution) : 실행 및 주소 계산 4. MEM(Memory) : 데이터 메모리 접근 5. WB(Write Back) : 레지스터에 쓰기 - 데이터패스를 5개의 부분으로 나눈 것이다. - 한 클럭사이클에 최대 5개의 명령어가 실행될 수 있다는 것을 의미한다. 2) 단일 사이클 데이터패스 분할 - 일반적으로 정보 흐름은 왼쪽에서 오른쪽으로 진행된다. - 그러나 2가지 예외가 존재한다. (위 그림의 하늘색 선 참고) a. WB단계 : 결과를 레지스터 파일에 쓰기 b. PC의 다음..

반응형