C#에선 구조체는 value type이고 클래스는 reference type인데 C++에선 둘 다 value type임?
C++ 구조체랑 클래스 차이 계속 검색해도 기본 접근 제한자 차이말곤 안나와서 궁금해서 물어봄
댓글 5
C++에서는 구조체와 클래스 모두 값 타입으로 간주됩니다. 이는 인스턴스가 생성될 때 해당 인스턴스의 메모리 공간이 직접 할당되고, 복사될 때도 해당 인스턴스의 모든 데이터가 복사됨을 의미합니다.
따라서 C#과 달리 C++에서는 클래스와 구조체 모두 값을 복사할 때 얕은 복사가 아닌 깊은 복사가 이루어집니다. 즉, 기본적으로 C++에서는 둘 다 메모리 상에 독립적인 개체로 존재하며, 서로 다른 메모리 공간을 차지합니다.
- chatGPT
C++에서는 구조체와 클래스 모두 값 타입으로 간주됩니다. 이는 인스턴스가 생성될 때 해당 인스턴스의 메모리 공간이 직접 할당되고, 복사될 때도 해당 인스턴스의 모든 데이터가 복사됨을 의미합니다. 따라서 C#과 달리 C++에서는 클래스와 구조체 모두 값을 복사할 때 얕은 복사가 아닌 깊은 복사가 이루어집니다. 즉, 기본적으로 C++에서는 둘 다 메모리 상에 독립적인 개체로 존재하며, 서로 다른 메모리 공간을 차지합니다. - chatGPT
chatGPT는 신이야
c++ 포인터 멤버변수 깊은 복사 아니므로 부정확하내 - dc App
ㅇㅇ 둘다 value임 r정의할때 & 아니면 전부 value - dc App
ㄳㄳ