반응형
new / delete
C언어에서의 malloc과 free 함수를 지원하여 힙 상에서의 메모리 할당 지원
int 크기의 공간을 할당하여 그 주소값을 p에 넣고, p 위치에 할당된 공간에 값을 넣는다.
마지막에 할당된 공간을 해제하기 위해 delete 를 사용한다.
#include <iostream>
int main(){
int* p=new int;
*p=10;
std::cout << *p << std::endl;
delete p;
return 0;
}
new 배열 할당
변수 list에 new를 이용하여 크기가 arr_size인 int 배열 생성
#include <iostream>
int main(){
int arr_size;
std::cout << "array size : ";
std::cin >> arr_size;
int *list=new int[arr_size];
for (int i=0; i<arr_size; i++){
std::cin >> list[i];
}
for (int i=0; i<arr_size; i++){
std::cout << i << ". element of list : " << list[i] << std::endl;
}
delete[] list;
return 0;
}
C++에서는 변수를 아무곳에서나 선언할 수 있으며, 변수를 포함하고 있는 중괄호를 빠져나갈 때 소멸된다.
컴파일러는 변수를 가장 가까운 범위부터 찾게 된다.
for문 안에서 int i를 선언하여 사용할 때, for문 밖에서는 사용할 수 없다. i는 오직 카운터로만 사용이 가능하다.
for (int i=0; i<arr_size; i++){
std::cin >> list[i];
}
for (int i=0; i<arr_size; i++){
std::cout << i << ". element of list : " << list[i] << std::endl;
}
반응형
'programming > c++' 카테고리의 다른 글
[programmers] 완주하지 못한 선수 (0) | 2023.01.08 |
---|---|
[C++] 객체지향 (0) | 2023.01.08 |
[C++] 문법구조 (0) | 2023.01.07 |
[C++] 기본 (0) | 2023.01.07 |
[C++] VsCode (0) | 2023.01.07 |