본문 바로가기

C++19

클래스와 템플릿2, 네임스페이스 _16일차_210603 1. LinkedList 템플릿 클래스로 바꿔보기 2. Namespace - 중복된 변수 명을 구분하기 위한 소속을 나타낸다 3. iterator - iterator 는 반복자, 라이브러리가 가지고 있는 형식대로 자료구조에 접근한다. 컨테이너가 관리하는 요소에 참조(접근)할 수 있게 해주는 추상화된 개념, 포인터와 비슷하다 2021. 6. 3.
클래스와 템플릿 _15일차_210602 1. 객체지향 언어의 특징 a. 객체 지향 언어 : C++, JAVA, C#... b. 방식 : 자료구조와 각가의 모듈을 설계한 뒤 이것들의 실행 순서와 흐름을 구성 c. 특징 : OOP, 오픈소스 많음( 모듈 ), 다형성, 상속, 캡술화, 추상화 d. 장점 : 유지보수 편리 , 안정성, 확장성, 재사용성 e. 단점 : 클래스가 많아질수록 메모리 낭비 심함 2. 가변배열 클래스로 만들기 - 구조체와는 다르게 클래스 내부에서 함수를 알고있기 때문에 내가 누군지 알려주지않아도 된다. 3. 템플릿 - 어떤 것을 찍어낼 수 있는 틀 a. 함수 템플릿 ( != 함수) - 내가 원하는 형태를 넣고 요청해야 생성 되는 함수 틀 - 템플릿을 만든 후 호출(요청)을 안할경우 생성되지 않음 b. 클래스 템플릿 _ 위에서 .. 2021. 6. 3.
Class 기초, 레퍼런스(&)참조 _ 14일차_210601 1. 클래스 - 클래스란 C에서 사용했던 구조체가 C++에서 조금 더 확장된 형태로 불리는 이름이다. 특징 a. 접근 제한 지정자 - 클래스 내의 멤버변수 or 멤버함수의 접근 레벨 지정 b. 생성자와 소멸자 - 객체 생성 또는 소멸시 자동으로 호출 - 직접 만들어주지 않을 경우 기본으로 생성되나 특별한 기능 없음( 형식적 존재 ) c. 멤버함수 - 해당 클래스가 사용하는 전용 함수 - 해당 클래스의 객체가 필요함 - 멤버함수를 객체를 통해서 호출하면, 해당 객체의 주소가 this 포인터로 전달 구조체 클래스 상속 X 상속 O 값 유형, 복사로 전달 참조 유형 기본적으로 Public 기본적으로 private 자료형의 모임 자료형 + 메소드 ( 더 크고 복잡한 객체에 적합) 생성, 소멸 직접해야함 생성, .. 2021. 6. 3.
가변배열 _ 12일차 _210528 1. 가변배열? - 일반적으로 배열(변수)은 처음에 선언했던 크기 만큼을 할당받아 사용하기 때문에 프로그램 실행 중에 재할당을 받을 수 없다. 그런데 필요로 인해서 받아야할 때는 어떻게 할것인가! 이때 바로 Heap 메모리 영역에서 동적으로 할당받아 사용하는 거시다. - 구조체를 만들어 본다. 이때 필요한 자료형이 무엇인지 생각해보고 필수 자료형을 뽑아 구조체를 구성한다. - 가변배열이 가져야할 기본 함수들을 구성해본다. 새로운 구조체(객체)를 생성하고 그 주소값을 넘겨주면 값을 수정할 수 있다. #과제 1. 가변배열 스스로 만들어보기 2. 가변 배열 안에 넣은 데이터 버블 정렬 하기 2021. 6. 2.
210525_9일차(Const, 포인터, 문자열) 1. Const ( 상수화 : 값을 외부에서 임의로 바꿀수 없게 한다 ) 2. const 포인터 활용 - const는 포인터에 붙어있음, 따라서 포인터를 이용하여 변경은 불가능함, 변수 값은 상관없이 바꿀수 있다. *예시는 int (4byte), 포인터는 64비트 기준 (8byte)라서 약간 의미 없지만 - 넘겨받는 변수가 구조체거나 용량이 큰 변수일땐 효율을 위해서 주소를 넘겨주고 함수에서 그 주소에 직접 접근할수있게하자 => 주소에서 값만 읽어오고 변경은 할 수 없도록 const 포인터로 받아오기 3. void* - 원본의 형태를 정하지 않은 상태, 어떤 변수의 주소값이든 다 받아 올 수 있음 - 역참조 불가능, 주소 연산 불가능 (이유? 원본의 형태를 알 수 없기 때문이다.) 4.문자열 _다시 들어.. 2021. 5. 25.
210524_8일차(포인터와 배열) 1. 포인터의 크기 => 주소값을 1 증가시키는 것은 자료형의 크기만큼 커진다 (의미를 생각해보기) 2. 포인터와 배열 문제 1 정답 ) 5 문제 2 정답 ) 257 문제 3 정답 ) 500 문제 2번 해석 : - char 는 1byte (8bit), short 는 2byte 2021. 5. 24.