C++ 5

[C++] 배열 VS 리스트 VS 벡터

리스트와 배열의 차이점 리스트는 배열에 비해 추가, 삭제가 자유롭다는 장점이 있다. 리스트에만 존재하는 함수 - remove() : 특정 값 삭제 - remove_if() : 특정 함수의 조건에 맞는 값 삭제 - splice() : 리스트간 요소 이동 - merge() : 정렬된 리스트 병합 - unique() : 중복 요소 제거 - sort() : 정렬 리스트 선언 및 출력 list myList = {5,4,3,4,2,1,1}; //1. iterator 사용하기 list::iterator it; for(it = myList.begin();it != myList.end();it++){ cout

코딩 2023.12.23

[C++] 포인터와 동적배열

처음 코딩을 배웠을 때 포기하게 만들었던 포인터... 다시 봐도 헷갈리지만 공부해보자! 포인터 : 다른 변수의 주소를 값으로 가짐 -선언하는 법 Int * p; int *p, q; -> 둘 다 포인터 Int* p, q; -> q는 그냥 int int n = 10; int *p = &n; p : n의 주소값 *p : n의 값 n을 다른 값으로 할당하면 p는 그대로 *p는 바뀜 *p의 값 바꾸면 n의 값도 바뀜 —> 주소는 그대로 배열에서 Char arr[10] -> 자체가 포인터 선언 *arr + 1 -> arr[0] + 1 값 출력 *(arr + 1) -> arr[1] 값 출력 *(arr + 1) = arr[1], *(arr + 2) = arr[2] &쓰면 상쇄된다 동적배열 C++에서는 배열을 선언할 때..

코딩 2023.12.22

[C++] 기초 이론(변수 및 for문)

C 언어의 확장판에서 시작된 언어이다. ** 절차 지향 언어인 C와 달리 객체 지향 언어이다 ** 객체 지향 VS 절차 지향 절차 지향 프로그래밍이란 말 그대로 순차적인 처리가 중요한 프로그래밍 기법이다. 예전에는 하드웨어와 소프트웨어의 개발 속도가 크게 차이나지 않았다. 하지만 하드웨어의 빠른 발전으로 모듈화, 캡슐화라는 개념이 생기며 객체지향 프로그래밍이 탄생하게 됐다. 객체지향 프로그래밍은 기능별로 묶어 모듈화를 함으로써 같은 기능을 중복으로 연산하지 않거나 모듈을 재활용하기 때문에 유지보수에 유리하다는 장점이 있다. 실제 코드 실습을 해보며 특징에 대해 더 자세히 알아가도록 하자. 입출력 cin과 cout을 통해 입력과 출력을 한다. 줄바꿈 : cout

코딩 2023.12.19