본문 바로가기

Programming/C++9

Template, Template 특수화 https://thrillfighter.tistory.com/408 C++ 템플릿(template) 이해하기 템플릿을 사용하여 프로그래밍 하는 것을 일반화(Generic) 프로그래밍이라고도 한다. 개인적으로 C++을 제대로 공부하기 위한 첫 번째 관문은 템플릿(template) 아닐까 생각한다. 템플릿을 알아야 S thrillfighter.tistory.com 2021. 7. 8.
2차원 배열 동적할당 / 3차원 배열 동적할당 가로 igIn.Col, 세로 igIn.Row인 이차원 배열 만듬 가로 igIn.Col, 세로 igIn.Row, 높이 360인 3차원 배열 만듬 2021. 3. 26.
void 포인터 학습 내용 1. void 포인터란? 2. 역참조 3. 1. Void 포인터란? void *ptr; - 포인터 변수 자체의 크기는 4byte 2. 역참조(포인터가 가리키는 값을 불러오기) 역참조가 주의해야 할 사항이다. #include int main() { int a = 10; void *b = &a; printf("%d\n", *b); } 이렇게 하면 에러뜬다. void포인터가 뭘 가리키는지 알려주지 않으면 컴파일러가 오류를 출력한다. 아래처럼 해야한다. #include int main() { int a = 10; void *b = &a; printf("%d\n", *(int*)b); } 추가 예시 #include int main() { int num1 = 10; float num2 = 3.5f; ch.. 2021. 3. 12.
Class 객체 선언 방식 2가지 학습 내용 1. 지역적인 범위에서 객체 선언 2. 동적할당 1. 지역적인 범위에서 객체 선언 class Person { int age; public: Person(int age) { this->age = age; cout 2021. 1. 1.
C++ 캡슐화, 디폴트 생성자, new, 복사생성자 학습 내용 1. 캡슐화 2. 디폴트 생성자 주의! 3. new 4. 복사생성자 1. 캡슐화 이렇게 하는 이유는, 1. food data를 외부에서 임의로 변경하는 것을 막기 위해 2. food를 증가시키면 멤버변수 weight도 증가시키고 싶은데, 이 두가지 작업을 한방에 수행하기 위해서. 즉, 2. 디폴트 생성자 사용 주의사항! - 올바른 선언 방법 2가지 - 잘못된 선언 방법 디폴트 생성자는, 생성자가 받는 인자가 없으므로, 모양새가 함수처럼 되어버릴 수 있다. 위와같이 잘못된 선언을 하면, return형이 Date인 함수가 만들어진다. - 참고 일반적인 객체 생성 모습 3. new - 메모리 동적할당. - 메모리 첫번째 주소값을 가리키는 포인터를 리턴 - 생성자 자동 호출 4. 복사생성자 - 쓰는 .. 2020. 12. 27.
구조체 1. 구조체 선언과 동시에 구조체 변수 선언 2. typedef 로 별칭 만들기. 참고 C 언어 코딩 도장: 48.2 typedef로 struct 키워드 없이 구조체 선언하기 구조체 변수를 선언할 때 일일이 struct 키워드를 붙이려니 좀 귀찮습니다. struct키워드를 생략하는 방법은 없을까요? 이때는 typedef로 구조체를 정의하면서 별칭(alias)을 지정해주면 됩니다. typedef dojang.io 2020. 12. 27.