C++/기본 상식2 [C++]금지된 Forbidden의 C++ 이 글은 16년 경력의 소프트웨어 개발자 David Barr 님의 Forbidden C++이라는 영상을 요약한 글입니다. https://www.youtube.com/watch?v=j0_u26Vpb4w&t=145s 실제로 소프트웨어 개발자로 일하면서 내가 사고를 치기도 하고, 실제로 안전하지 않게 쓰인 코드를 보기도 한 적이 있다. 이러한 실수들을 피하기 위하여 자신에게 다시 새기는 의미로 이 글을 작성한다. namespace std #include #include using namespace std; namespace ns1 { void TestFunction() { cout 2023. 3. 2. 포인터와 동적 메모리 동적 메모리를 이용하여 컴파일시 크기를 확정할 수 없는 데이터를 다룰 수 있다. 스택과 힙 스택은 층층이 쌓인 햄버거에 비유할 수 있다. 제일 위의 햄버거는 프로그램의 현재 스코프를 표현한다.(주로 실행중인 함수). 실행중인 함수에서 선언된 변수는 모두 최상단의 햄버거에 해당하는 최상단 스택 프레임(stack frame)의 메모리 공간에 담겨 있다. 스택 프레임은 각각의 함수마다 독립적인 메모리 공간을 제공한다. 함수의 실행이 끝나면 해당 스택 프레임이 삭제되기 때문에 함수 안에서 선언된 로컬 변수가 더 이상 메모리 공간을 차지하지 않는다. 즉, 메모리 할당 해제(deallocate)가 필요하지 않다는 것이다. 힙은 스택프레임과는 완전히 독립적인 메모리 공간이다. 함수가 끝난 후에도 그 안에서 사용하던 .. 2022. 5. 27. 이전 1 다음