제목에서 알 수 있듯이 new를 사용하여 동적 크기의 객체 배열을 만드는 방법이 있습니까?이 조건에서는 기본 생성자를 호출하지 않으려 고합니다. 같은기본 생성자를 사용하지 않고 new로 객체의 동적 크기 배열을 만들 수 있습니까?
무엇인가 : 당신은 당신이 벡터를 사용할 수있는 동적 배열을 필요로하는 경우
myclass* myarray = new myclass(firstArgument, secondArgument)[32];
제목에서 알 수 있듯이 new를 사용하여 동적 크기의 객체 배열을 만드는 방법이 있습니까?이 조건에서는 기본 생성자를 호출하지 않으려 고합니다. 같은기본 생성자를 사용하지 않고 new로 객체의 동적 크기 배열을 만들 수 있습니까?
무엇인가 : 당신은 당신이 벡터를 사용할 수있는 동적 배열을 필요로하는 경우
myclass* myarray = new myclass(firstArgument, secondArgument)[32];
는 또한 메모리 관리 손을 취할 것입니다.
가장 쉬운 방법을 사용하지만 new
- 복사 벡터 구성 요소 수 생성자가 std::vector
를 사용하지 않도록하는 것이다. 그것은 대부분의 경우에 권장되는 방법입니다. 벡터 대신 동적으로 할당 된 배열을 필요로하는 것은 매우 드문 경우입니다.
새로운 (어떤 이유)를 사용하는이 경우,이 작업을 수행하는 다음 방법 중 하나는, 원시 메모리를 할당 개체 타입으로 변환 한 다음 자리에서 당신의 가치를 구성 복사 std::uninitialized_fill()
을 사용하는 것입니다.
새로운 방법으로는이 작업을 수행 할 방법이 없거나 적어도 쉬운 방법 인 것으로 보입니다. 검색의 많은 후
나는이 솔루션을 내놓았다 :
USE VECTOR CLASS
실제로 새에 대한 당신의 전형적인 프로젝트, 사용 벡터에 대해 잊어 버려. 그것은 많은 이점을 가지고 있습니다.
'std :: vector'을 사용하십시오. 'std :: Vector (32, myclass (firstArg, secondArg));'. –
juanchopanza