본문 바로가기

분류 전체보기612

시험 오답 노트(복습용/비공개) 보호되어 있는 글 입니다. 2022. 11. 13.
22.11.09 복습 vector = 배열과같다 > 동적 할당이 가능한 배열 이라고 본다. vectorvec; 를 동적 할당 하려면 일반 int는 불가능하지만 포인터를 사용하면가능하다. *vec.push_back(new int(3)); -> 포인터 형식으로 새로운 동적할당 적용 cout 할당후에 벡터여도 포인터사용하였으면 포인터는 직접 해제해줘야한다. 벡터는 자동적으로 할당이 해제 되지만 포인터를 사용하여 new를 사용하였으면 delete 를 사용하여 해제를 꼭 해줘야 한다. 추가적인 정보 > vec.push_back(); 과 동일하게 사용할수있는것은 vec.emplace_back(); 이 있다. push => 밀어넣다 / back => 뒤에. emplace => 설치하다 / back => 뒤에. 현재는 비슷하다는것만 알고있.. 2022. 11. 9.
복습 - 행렬 회전 과제 전치행렬을 이해하고난뒤 상하의좌표와 좌우의 좌표를 스왑시키는 형태가 이해가 잘 되지 않아 복습을 진행하였다. 배열을 회전시키는결과값은 결국 좌표가 바뀌는 것이다. 이해안될때 이중포문의 좌표 할당을 손으로 그려보고 다시한번 이해할 필요가 있다. #include using namespace std; void Swap(int& sour, int& dest) //스왑 함수 {// temp(빈공간에) sour대입 sour에dest데입 dest에 temp에있던sour대입 int temp = sour; sour = dest; dest = temp; } void TransPose(int** matrix, int size) //전치행렬 자리바꾸기 { for (int y = 0; y < size; y++) { for (i.. 2022. 11. 9.
[C++] 벡터(vector)와 벡터의 멤버함수 에 대하여 벡터 (vector) [당일 수업 내용 中] 힙공간에 저장되고 생성과 해제가 자동으로 이루어진다. 동적할당이이루어지면서 증가되면 스스로 저장가능한 공간에 이동하며 공간을 늘린다. 공간이 이동이 여러번이루어지면 컴퓨터가 느려진다. 배열의 장점 : 순차적이고 연속적이다 때문에 주소연산이 가능하다. 배열의 단점 : 크기가 고정 되어 있다. 벡터는 배열과 유사하게 사용이 가능하며 배열의 단점인 크기고정을 해결할수 있다. 벡터를 생성하게되면 이는 동적할당이가능한것이며 heap(힙) 메모리 영역에 생성이 된다. 할당과 해제는 자동적으로 이루어지기때문에 별도의 작업을 할 필요가 없다. 벡터의 사용 방법은 헤더파일을 추가 해야 한다. ex ) #include vector의 선언 방법 - " vector [변수이름] ".. 2022. 11. 8.
[C++] STL 에 대하여 STL 이란 Standard Template Library. 기본 템플릿 라이브러리 이다. 지금 배우고 있는 Visual Studio C++ 에 기본적으로 제공되는 표준 라이브러리 이다. 일반적인 자료구조와 알고리즘 으로 구성이 되어 있다. (ex. swap for if while ... ) 탬플릿(Template - 형식,틀)을 사용한 일반화 프로그래밍 으로 기본적으로 사용되는 표준 헤더(.h)들이 모여있는것으로 수많은 자료 구조들이 들어있다. 특징! 1. C++은 표준 라이브러리를 가지고 있다. 2. 이것을 이용해 직접 특정 기능을 처음부터 직접 작성하지 않고 제공되는 함수를 통해 보다 쉽게 기능을 구현할 수 있다. 3. C++표준 라이브러리에 STL이 추가 된 것은 1994년 7월이다. 4. 템플릿.. 2022. 11. 8.
복습2 - 연산자 대입연산(=) 산술연산 (+) (-) (*) (/) (%) 정수의 산술연산은 기존에 배운 내용 그대로 알고있으면 된다. 추가적으로 실수의 연산 을 공부한다. 실수끼리의 연산은 소수점의 자리수 떄문에 애매하다 data는int 형으로 가정하에 나머지연산 ex > data = 10. % 3.; >> 오류가된다. 나머지연산ex > data = 10 % 3.; >> 하나는 정수 하나는 실수 일때도 오류가된다. 모듈러스 (%) 나머지 연산은 정수끼리의 계산으로 사용한다. 실수의 나누기 나누기연산 ex > data = 10. / 3.; >> 오류가된다. 이때 수정 => data=(int)(10. / 3.); >> 가능하게된다. 추가 > float 타입의경우 실수 2.25524f 뒤에 f가붙는다(4바이트) 위의 예시중.. 2022. 11. 8.