클래스 개체에있는 배열에 int를 삽입하려고하는데 잘못된 작업을 파악할 수 없습니다. 내 코드의 현재 상태로 int 배열에 절대로 삽입합니다.C++에서 배열로 동적 메모리 할당
기본적으로 내가 뭘하려고하면 삽입 (int) 그것은 배열에 남아있는 방이 있는지 확인합니다 호출 할 경우, 그것을 추가 할 것입니다, 그렇지 않으면 그것을 8로 reallocate 것이다 배열에 더 많은 공백이 있습니다. 여기
내가bool Set::insert(int X)
{
bool Flag = false;
if (Num == Cap)
{
//reallocate
const unsigned Inc = 8;
int * Temp = new int[Cap+Inc];
for (unsigned J=0;J<Num;J++)
{
Temp[J] = Pool[J];
}
delete [] Pool;
Pool = Temp;
Cap = Cap+Inc;
}
if(Num < Cap)
{
Pool[Num+1] = X;
Flag = true;
}
return Flag;
}
'플래그'의 요점은 '삽입'이 결코 '거짓'을 반환 할 수없는 것처럼 보입니다. –
C++에는 realloc()과 같은 역할을하는 vector "renew"연산자가 있었지만 확장/축소되는 하드 배열의 끝에서 추가/제거되는 추가 보너스 생성/제거 객체가 있었으면 좋겠다. – WhozCraig
':: std :: vector'를 사용하는 대신 왜 이것을하고 있습니까? – Omnifarious