자동으로 객체를 생성할 때 클래스 객체는 스택에 생성되는데 , 실행 시간 면에서 동적 객체보다 빠릅니다. 객체를 동적으로 생성할 때 클래스 객체는 메모리(힙)에 생성되지만 OS 메모리 관리자를 사용하는 동안 프로세스가 더 느립니다.
질문은 다음과 같습니다. 자동 생성이 더 빠른 경우 동적 개체를 사용하는 것이 더 나은 이유는 무엇입니까? 명시적으로 메모리 할당을 제어합니까? 스택 오버플로 가능성을 배제하시겠습니까? 그리고 갑자기 물건을 잃지 않습니까? 스택이 오버플로되면 개체가 자동으로 삭제됩니까?
자동으로 객체를 생성할 때 클래스 객체는 스택에 생성되는데 , 실행 시간 면에서 동적 객체보다 빠릅니다. 객체를 동적으로 생성할 때 클래스 객체는 메모리(힙)에 생성되지만 OS 메모리 관리자를 사용하는 동안 프로세스가 더 느립니다.
질문은 다음과 같습니다. 자동 생성이 더 빠른 경우 동적 개체를 사용하는 것이 더 나은 이유는 무엇입니까? 명시적으로 메모리 할당을 제어합니까? 스택 오버플로 가능성을 배제하시겠습니까? 그리고 갑자기 물건을 잃지 않습니까? 스택이 오버플로되면 개체가 자동으로 삭제됩니까?
자동으로 객체를 생성할 때 클래스 객체는 스택에 생성되는데 , 실행 시간 면에서 동적 객체보다 빠릅니다. 객체를 동적으로 생성할 때 클래스 객체는 메모리(힙)에 생성되지만 OS 메모리 관리자를 사용하는 동안 프로세스가 더 느립니다.
질문은 다음과 같습니다. 자동 생성이 더 빠른 경우 동적 개체를 사용하는 것이 더 나은 이유는 무엇입니까? 명시적으로 메모리 할당을 제어합니까? 스택 오버플로 가능성을 배제하시겠습니까? 그리고 갑자기 물건을 잃지 않습니까? 스택이 오버플로되면 개체가 자동으로 삭제됩니까?
객체의 개수를 미리 알고 있고 프로그램 작동 중에 일정하면 새 객체가 필요하지 않습니다. 다른 모든 경우 - 새로운.
자, 여기 있습니다.
이와 같이:
다음과 같이 호출할 수 있기 때문에 가능하지도 않지만 더 좋습니다.
참조로 포인터를 전달하는 경우 포인터에 대한 변수가 하나 더 필요합니다.
***
그리고 함수에서 객체를 생성하기 위해 함수에 대한 포인터를 전달해야 하는 경우 작동 방식은 다음과 같습니다.
그것이 실제로 당신이 OOP에 대해 알고 싶었지만 물어보기가 두려웠던 모든 것입니다)))누누
그리고 모든 것이 작동합니다.
따라서 OOP에 대해 궁금한 점이 있으면 부끄러워하지 마십시오))))
따라서 OOP에 대해 궁금한 점이 있으면 부끄러워하지 마십시오))))
new 연산자를 통해 동적 객체 생성의 의미를 설명해주세요.
자동으로 객체를 생성할 때 클래스 객체는 스택에 생성되는데 , 실행 시간 면에서 동적 객체보다 빠릅니다.
객체를 동적으로 생성할 때 클래스 객체는 메모리(힙)에 생성되지만 OS 메모리 관리자를 사용하는 동안 프로세스가 더 느립니다.
질문은 다음과 같습니다.
자동 생성이 더 빠른 경우 동적 개체를 사용하는 것이 더 나은 이유는 무엇입니까?
명시적으로 메모리 할당을 제어합니까?
스택 오버플로 가능성을 배제하시겠습니까?
그리고 갑자기 물건을 잃지 않습니까?
스택이 오버플로되면 개체가 자동으로 삭제됩니까?
뻔한 주제에 질리지 않으세요?
뻔한 주제에 질리지 않으세요?
최대한 정확한 설명을 위해 질문을 수정했습니다.
이것에 나쁜 것이 있습니까? 편집할 수 있는 버튼이 있습니다. 바로 아이디어를 표현하는 규칙입니다.
new 연산자를 통해 동적 객체 생성의 의미를 설명해주세요.
자동으로 객체를 생성할 때 클래스 객체는 스택에 생성되는데 , 실행 시간 면에서 동적 객체보다 빠릅니다.
객체를 동적으로 생성할 때 클래스 객체는 메모리(힙)에 생성되지만 OS 메모리 관리자를 사용하는 동안 프로세스가 더 느립니다.
질문은 다음과 같습니다.
자동 생성이 더 빠른 경우 동적 개체를 사용하는 것이 더 나은 이유는 무엇입니까?
명시적으로 메모리 할당을 제어합니까?
스택 오버플로 가능성을 배제하시겠습니까?
그리고 갑자기 물건을 잃지 않습니까?
스택이 오버플로되면 개체가 자동으로 삭제됩니까?
new 연산자를 통해 동적 객체 생성의 의미를 설명해주세요.
사용의 명확한 예 중 하나는 객체의 유형을 미리 알지 못하는 경우입니다.
다음은 도움말에서 이 주제에 대한 좋은 예입니다. https://www.mql5.com/en/docs/basis/operators/newoperator
누누
아하! 그러나 어떤 이유로 모든 것이 컴파일되고 작동합니다.
거기에 어떤 종류의 기적이 있는지 ... 아무도 모릅니다. 그러나 어제의 코드 예제 이후에이 주제의 다른 곳에서 가져온 것으로 추정되지만 실제로 어딘가에서 누락 된 것은 놀라운 일이 아닙니다.
***
예, 그리고 대화의 원래 내용을 잊지 않는다면 - 함수나 메서드에 대한 포인터 전달에 대해(그리고 거기에서 일종의 메모리 누수가 발생했다고 주장한 경우), 이 경우 &는 확실히 필요하지 않습니다.
new 연산자를 통해 동적 객체 생성의 의미를 설명해주세요.
자동으로 객체를 생성할 때 클래스 객체는 스택에 생성되는데 , 실행 시간 면에서 동적 객체보다 빠릅니다.
객체를 동적으로 생성할 때 클래스 객체는 메모리(힙)에 생성되지만 OS 메모리 관리자를 사용하는 동안 프로세스가 더 느립니다.
질문은 다음과 같습니다.
자동 생성이 더 빠른 경우 동적 개체를 사용하는 것이 더 나은 이유는 무엇입니까?
명시적으로 메모리 할당을 제어합니까?
스택 오버플로 가능성을 배제하시겠습니까?
그리고 갑자기 물건을 잃지 않습니까?
스택이 오버플로되면 개체가 자동으로 삭제됩니까?
객체의 개수를 미리 알고 있고 프로그램 작동 중에 일정하면 새 객체가 필요하지 않습니다. 다른 모든 경우 - 새로운.