C++ 배열의 개념을 이해하는데 약간의 문제가 있습니다.C++ 객체 배열 초기화
저의 임무는 다음과 같습니다. 여기서 알 수 있듯이 이것은 [크기] Object1 객체에 대한 힙에 공간을 생성 할뿐만 아니라 모든 객체도 초기화합니다. 누군가 힙에서 정확히 무슨 일이 일어 났는지 설명하고 여기에 쌓아 올릴 수 있습니까?
오브젝트 1의 생성자는 다음 코드에서와 같이 매개 변수를 촬영 한 경우class Object1 { Private: int dummy; Public: Object1(); }; Object1::Object1() { dummy = 1; } class Foo { private: Object1 * myObject; public: Foo(int size); }; Foo::Foo(int size) { myObject = new Object1[size]; }
, 다음 무엇을, 스택 및 힙에 다른 어떤 일이 일어날까요? object1의 각 인스턴스에 매개 변수를 보내지 않으므로 모든 객체를 초기화하거나 공간을 만듭니 까?
class Object1 { Private: int dummy; Public: Object1(int myInt); }; Object1::Object1(int myInt) { dummy = myInt; }
나는 아래 어딘가에서 코드를 보았습니다. 이 경우 무슨 일이 일어나며 위의 경우와 어떻게 다른가요?
myclass *array[10]; for (int i = 0 ; i != 10 ; i++) { array[i] = new myclass(); }
나는 할당을 완료했지만, 그냥 내가 뒤에서 무슨 일이 일어나고 있는지 이해하도록 노력하고 있어요.
도움을 주셔서 미리 감사드립니다.