전체 글174 CPP Module 02 New Rules (CPP 02-08) 클래스들이 Orthodox Canonical Form에 맞추어 작성되어야함 따라서 아래의 멤버 함수들이 필수로 포함되어있도록 작성 기본 생성자 복사 생성자 대입 연산자 소멸자 Exercise 00 : My First Class in Orthodox Canonical Form Orthodox Canonical Form 형식에 맞는 클래스를 만들어낼 수 있는지 확인하는 문제 멤버 변수들은 모두 private으로 설정 fractional_bits 변수는 static으로 받아 모든 객체에서 값이 공유되도록 설정 fixed_value는 private으로 설정해 클래스 외부에서 접근할 수 없기 때문에 getRawBits()와 setRawBits() 함수를 만들어서 사용 변수에.. 2023. 2. 22. CPP Module 01 Exercise 00 : BraiiiiiiinnnzzzZ 변수의 메모리를 new를 통해 동적 할당하는 경우 데이터는 힙 영역에 저장됨 힙에 저장된 데이터는 프로그램이 끝날때까지 유지되기 때문에 더이상 사용하지 않는 경우 반드시 delete로 해제시켜주어야 함 힙에 할당하는 것은 비교적 속도가 느리고, 포인터를 역참조하여 변수의 값에 접근하는 것 역시 직접 접근하는 것보다는 느림 일반적으로 변수를 선언할 경우 정적 할당되어 데이터는 스택 영역에 저장됨 스택 영역에 저장된 데이터는 해당 변수가 지정된 범위(scope)를 벗어날시 자동으로 해제 및 소멸 스택에 할당하는 것은 비교적 속도가 빠르지만, 스택 자체의 크기가 비교적 작으므로 유의해야함 Exercise 01 : Moar brainz! new []를 통.. 2023. 2. 22. CPP Module 00 CPP Moudle 공통항목 c++ -Wall -Wextra -Werror -std=c+98로 컴파일 과제는 모두 C++98 standard를 사용, 이후(C++11 등)에 추가된 기능들은 활용할 수 없음 class 이름은 UpperCamelCase 포멧을 사용하고 class 코드를 포함한 파일은 해당 class에 맞게 이름지어야함 구체적 지시가 있는 것이 아니라면 출력은 항상 개행으로 끝내야함 Norminette 졸업! 서브젝트에서 특별히 금지한 것이 아니라면 표준 라이브러리를 자유롭게 활용 가능 외부 라이브러리는 금지(C++11과 Boost 라이브러리 등), *printf(), *alloc(), free()도 금지 using namespace 와 friend도 금지 STL은 Moudle 08에서만 사.. 2023. 2. 22. C++ Primer 17 Exercise 01 // countbefore$.cpp #include int main() { using namespace std; char ch; int count = 0; while (cin.get(ch) && ch != '$') { count++; } cin.putback(ch); cout 2023. 2. 21. 이전 1 ··· 20 21 22 23 24 25 26 ··· 44 다음