익명 객체
2023. 7. 9. 20:20ㆍc,c++/c++ 관련 개념 및 문법
익명객체는 단순한 함수 하나만 이용하는 클래스가 있을 경우 쓰고 버리는 느낌으로 이용하는 객체를 쓸 때 이용한다.
익명객체는 생성 후 하나의 함수 실행 후 쓰지 않는 일회성이기 때문에 소멸자와 같이 이용한다.
그래서 매번 다른 주소를 갖는 수행을 하게 된다.
#include <iostream>
using namespace std;
class A
{
public:
int m_value;
A(const int& input)
:m_value(input)
{
cout << "Constructor" << endl;
}
~A()
{
cout << "Destructor" << endl;
}
void print()
{
cout << m_value << endl;
}
};
int main() {
A a(1);
a.print();
A(1).print();
return 0;
}
A a(1)이 기존의 클래스 생성 후 생성자를 이용한 코드이다.
그리고 a의 객체에 접근하여 print함수를 이용한다.
익명 객체는 A(1) 을 이용하여 이름을 지어주지 않고 사용한다. l-value를 r-value처럼 이용하게 된다.
A(1) 시에 constructor를 통해 생성자를 지나고 1을 넣어준다 그리고 print함수에 접근하여 실행한다. 그 다음에 바로 destructor를 수행하게 된다.
a의 경우 이제 수행할 것이 없을 때 destructor를 수행하게 된다.
'c,c++ > c++ 관련 개념 및 문법' 카테고리의 다른 글
explicit 키워드, mutable 키워드 (0) | 2023.07.11 |
---|---|
함수 포인터 (0) | 2023.07.09 |
nested class, types.. (0) | 2023.07.09 |
l-value, r-value (0) | 2023.07.09 |
static 관련 정리 (0) | 2023.07.09 |