목록전공 공부/언어 (5)
Adaid's Workroom
내용 출처 - 옥찬호님 자료 요약자료4Member variable - 객체와 연관된 변수Static 멤버 변수- 클래스에 종속되는 전역 변수- 객체별로 변수를 따로 가지는 것이 비효율적일 경우 사용const 멤버 변수- 생성 시점에 초기값을 부여한 후 값을 변경할 수 없는 변수- 객체 수준에서 상숫값을 보유하는 것은 대부분 메모리 낭비지만 static const 멤버 변수를 이용해 객체 간 상숫값 공유할 수 있음reference 멤버 변수- 클래스를 멤버 변수로 가지고 참조만 할 때 포인터 또는 레퍼런스형을 사용할 수 있음- 레퍼런스 타입이 적합한 객체로 초기화되어야만 존재할 수 있어 안전하기 때문에 더 바람직- 레퍼런스형 멤버 변수는 생성과 동시에 다른 객체를 참조하도록 초기화되어야만 하므로 멤버 이니..
내용 출처 - 옥찬호님 자료 요약자료3Copy constructor - 같은 타입의 객체로 초기화될 때 호출되는 생성자 복사 생성자- 매개변수가 객체인 생성자- 명시적으로 복사 생성자를 만들지 않으면 컴파일러가 자동으로 만들어줌구현 방법- 멤버 이니셜라이저 이용 (ex) Person(const Person& src) : height(src.height), ...- 생성자 본문 이용 (ex) Person(const Person& src) { height = src.height; ... }- 대부분 복사 생성자를 직접 만들 필요는 없음Copy assignment operator - 객체를 다른 객체에 대입할 때 호출되는 메서드복사 대입 연산자- 객체를 다른 객체에 대입할 때 호출- =연산자를 각 클래스에서 ..
내용 출처 - 옥찬호님 자료 요약자료1Class and object - 사용자 정의 자료형객체지항 프로그래밍이란- 프로그램을 단순히 데이터와 처리 방법으로 나누지 않고, 수많은 '객체'라는 기본 단위로 나눈 뒤 이 객체들의 상호작용으로 서술하는 방식- 프로그램이 처리하는 절차보다, 동작되는 자료에 중점을 둔 객체+객체 간의 상호관계로 표현- 멤버객체- 데이터와 기능을 하나로 묶어서 다룰 수 있는 개념- 멤버 변수(특성, Attribute)와 이를 대상으로 처리하는 동작인 멤버 함수(메서드, Method)를 하나로 묶어 만든 요소로 프로그램을 구성하는 실체C의 구조체- 서로 다른 타입의 변수들을 저장할 수 있는 사용자 정의 타입- 그러나 함수는 저장할 수 없음- 따라서 구조체를 매개변수로 받는 함수를 따로..
내용 출처 - 옥찬호님 자료 요약깃허브 링크자료1자료2자료3자료4 cin, cout - I/O 메서드 변화- 헤더 파일 변화: stdio.h -> iostream- 함수 변화 printf -> std::cout scanf -> std::cin- 입출력 형식(%d 등) 지정Xbool - 새로운 자료형- true/false 개념을 명확히 사용하기 위해 추가된 자료형auto - 타입 추론 타입 지정자- 컴파일 타임에 타입 추론하여 결정- 추론 불가능시 오류Range-based for - 범위기반 for문- 컨테이너 요소 개수 무관하게 반복문 수행(ex) for (auto& i : arr) cout new free -> delete- 주의: new는 delete, new[]는 delete[]로 단일 객체 vs ..
자료: 원문링크, 번역링크(번역본은 원문에서 빠진 내용도 약간 있으며 오역이 다소 있는듯)(원문 내용을 최대한 살려서 번역하면서 변역본도 참고하며 작성) 헤더파일 모든 .cc 파일은 수반된 .h 파일을 가져야 한다(예외: 유닛테스트, main만 있는 작은 .cc 파일).헤더 파일을 바르게 사용함으로써 코드의 가독성, 크기, 성능을 향상시킬 수 있다. 독립적 해더헤더파일은 독립적이어야 하며(=자체적으로 컴파일되어야 함) (1) #define 가드모든 헤더 파일은 여러번 포함되지 않기 위해 #define 가드를 사용해야 한다.심볼 이름의 포맷은 ___H_ 으로 한다.심볼 이름이 겹치지 않기 위해 프로젝트 파일 경로에 기반한다. (ex) foo 프로젝트의 foo/src/bar/baz.h 파일의 가드#ifnde..