본문 바로가기

c++메모리2

C++ 12장 [함수객체] ▣ 안녕하세요. 이번장에서는 함수를 호출할 때 매개변수를 객체로 전달하는 코드를 공부해보도록 하겠습니다. ▣ 클래스의 소멸자와 생성자를 각각 지정해주고 메인 함수에서 객체를 정의한 다음에 디버그를 하면 이렇게 클래스 생성 시 생성자와 소멸자가 호출되는 걸 확인할 수 있습니다. 이번에는 클래스 멤버함수가 아닌 따로 함수를 만들고 그 함수의 매개변수에 클래스 객체를 전달하는 코드를 작성해보겠습니다. ▣ 코드를 작성했다면 이제 코드를 살펴보겠습니다. sum(cal) 코드를 살펴보면 sum()이라는 함수에 매개변수에 cal 클래스 객체를 전달했습니다. 그럼 클래스가 전달됩니다. 여기서 중요한 건 그 클래스의 생성자는 호출되지 않고 소멸자만 호출된걸 확인할 수 있습니다. 그 이유는 전달 받은 원본의 클래스 객체의.. 2022. 11. 3.
C++ [namespace, 네임스페이스] ▣ 안녕하세요 이번장에서는 네임스페이스를 공부해보겠습니다. 네임스페이스는 쉽게 정의하면 동일한 이름으로 변수나 함수, 배열 등을 사용할 때 소속을 지정해 그걸 구분하기 위한 키워드라고 생각하시면 됩니다. 그럼 간단한 코드를 통해서 하나하나 공부해보겠습니다. ▣ 공부하기 전에 꼭 전역 변수, 지역변수를 공부하고 시작해주세요. ▣ num이라는 변수를 두가지 형식으로 정의했습니다. 하나는 전역변수 하나는 지역변수입니다. main에서 같은 이름에 num을 출력해보면 지역변수를 출력하는 걸 확인할 수 있습니다. 다시 말해 함수 안에 있는 지역변수가 우선순위로 접근한다라는 걸 확인할 수 있습니다. 그럼 전역변수를 접근하려면 어떻게 해야 할까요 ▣ :: 연산자를 사용하여 ::num을 하게 되면 전역 변수를 접근하게 .. 2021. 7. 16.