동적할당 2

09. C++_동적으로 배열 할당하기

단일 변수에 대한 동적할당 외에 포인터를 활용하여 배열 변수를 동적할당 할 수 있다. 컴파일 타임에 배열 길이를 정하는 고정 길이 배열과는 다르게 배열을 동적으로 할당하면 런타입 동안에 배열 길이를 선택할 수 있다.동적으로 배열을 할당하려면, new 연산자와 delete연산자를 사용해야한다. 1. 1차원 배열 동적 할당 하기 1차원 배열은 배열의 이름이 곧 그 배열의 시작 주소이다.int형 자료구조의 방을 가리키는 num 포인터 변수에 생성하고자하는 size를 가지는 동적 메모리를 할당한다.#includeusing namespace std;int main() { //실행중에 배열의 크기 입력받아 1차원 배열 동적 할당하기 int length; int* num; cin >> length; num = new..

C++ 2024.05.16

04. C++_얕은복사/깊은복사

객체를 복사한다는 것은 내용을 다른 객체로 복사하는 것을 의미하는데, 클래스의 객체가 다른 객체로 복사될 때는 보통 매개변수로 같은 클래스의 객체를 받아서 그 객체의 내용을 복사하여 새로운 객체를 생성하는 복사 생성자 (copy Constructor)에 의해 복사가 수행됩니다. 이 때, 복사 생성자가 어떻게 구현이 되었냐에 따라 객체 복사가 깊은 복사인지, 얕은 복사인지 결정되게 됩니다. 이번 포스팅에서는 깊은 복사, 얕은 복사에 대한 개념과 간단한 예제에 대해 알아보겠습니다.깊은 복사(Deep copy)깊은 복사는 객체를 복사할 때 해당 객체가 동적으로 할당된 메모리를 사용하고 있다면, 이 동적 메모리까지 새롭게 할당하고 복사하여 두 객체가 완전히 독립적인 데이터를 갖도록 하는 것입니다. 따라서 포인터..

C++ 2024.03.24