Home
Justnote
Cancel

CPP Module 01 : 클래스

주제 메모리 할당 멤버 함수 포인터 참조자 switch문 Ex00 주요 개념 객체 생성 방식 동적 할당 객체 생성 방식의 차이 newzombie 동적할당 사용 heap 영역 이유 : 객체를 생성하고 계속 사용할 것이기 때문 randomchump ...

CPP Module 00 : C++ 기초

Ex00 주요 개념 std::toupper int toupper ( int c ); int 형으로 반환 static_cast<char>을 사용해 toupper의 반환값인 int를 char로 형변환. static_cast 기본 자료형...

miniRT ③ 구현 과정

구현 과정 순서도 도형 평면 (plane) ray(광선)의 방향벡터와 plane(평면)의 법선벡터의 내적이 0이라면 광선은 평면에 평행하거나 포함된 상태. 내적이 0이 아닌 경우, 광선이 평면과 한 점에서 만나는 상태이다. 구 (sphere) 구의 방정식에 광선의 방정식을 대입 근의 공식을 통해 실근의 존재 여부를...

C++ 개념 정리 : 스마트 포인터

스마트 포인터(smart pointer) 포인터처럼 동작하는 클래스 템플릿 사용을 마친 메모리를 자동으로 해제해준다. C++에서 메모리 누수를 방지하기 위해 제공 동작 방식 기본 포인터(raw pointer)에 new 키워드로 메모리를 할당 해당 포인터를 스마트 포인터에 대입하여 사용 소멸자가 delete 키워드를 사용...

C++ 개념 정리 : 좌측값(lvalue), 우측값(rvalue)

복사 생략 (copy elision) int main() { A a(1); // 일반 생성자 호출 A b(a); // 복사 생성자 호출 A c(A(2)); // 일반 생성자 호출 -> 복사 생략 } 위와 같은 경우에는 복사 생성자가 호출되지 않는다. 이를 복사 생략(copy elision)이라고 한다. 좌측값(lvalu...

miniRT ② 배경 지식

렌더링 (Rendering) 개념 컴퓨터 프로그램을 사용하여 모델 또는 이들을 모아놓은 장면인 씬 파일(scene file)로부터 영상을 만들어내는 과정 순서 와이어프레임 렌더링 (wireframe rendering) 좌표를 여러개 찍어서 선으로 연결...

C++ 개념 정리 : 예외 처리

예외 처리 예외(exception) 컴퓨터 시스템이 동작하는 도중에 예상하지 못한 오류가 발생하여, 실행되고 있던 프로그램이 중지되는 것 예외 처리(exception handling) 예외 상황을 처리할 수 있도록 코드의 흐름을 바꾸는 행위 C++은 언어 차원에서 예외 ...

miniRT ① Subject

요약 : 이 프로젝트에서는 레이트레이싱 세계를 소개한다. 프로젝트를 완성한다면 너는 간단한 컴퓨터 생성 이미지를 만들 수 있을 것이고 수학 공식을 두려워하지 않을 것이다. Mandatory part - miniRT 프로그램명 miniRT 제출 파일 모든 파일...

C++ 개념 정리 : STL (표준 템플릿 라이브러리)

STL (Standard Template Library) 주요 라이브러리 컨테이너 (container) 임의의 타입의 객체를 보관 반복자 (iterator) 컨테이너의 원소에 접근 ...

C++ 개념 정리 : 템플릿

템플릿(template) 특징 하나의 정의로 여러 타입에서 동작할 수 있도록 해줌 기존에는 자료형이 바뀔 때마다 대응되는 함수, 클래스를 새롭게 정의해줘야 했음. 함수 템플릿(function template) 개념 함수...