티스토리 뷰


class 객체에 new을 할때()를 붙혀야하는지 안붙혀야하는지 헷갈릴때가있습니다.

저도 오늘 그게 궁금해서 찾아보니까 여기서 찾았습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
class Foo
{
public:
    Foo();
    ~Foo();
};
 
int main()
{
    Foo* foo1 = new Foo;
    Foo* foo2 = new Foo();
 
    return 0;
}
cs

이런 코드가 있을때


12번째줄 Foo* foo1 = new Foo;는 동적 메모리에 Foo 유형의 객체를 만듭니다.

 foo1이 가리키고 있습니다. 일반적으로 C ++에서 원시 포인터를 사용하지 않고 스마트 포인터를 사용합니다. 

Foo가 POD 유형이라면 값 초기화를 수행합니다 (여기서는 적용되지 않음).


13번째줄 Foo* foo2 = new Foo(); 12번째줄과 같습니다.

왜냐하면 POD 유형이 아니기때문입니다.


※코딩지적및비판은 저에게 많은 도움이됩니다.

※코딩질문 또한 많은 도움이 됩니다.



'프로그래밍 > C++' 카테고리의 다른 글

[C++] 몬티홀 딜레마 문제  (0) 2017.10.23
[C++]STL 프로그래밍 std::list  (0) 2017.03.06
[C++]STL 프로그래밍 std::vector  (0) 2017.03.06
[C++] 연산자 오버로딩(Operator)  (0) 2017.03.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함