저는 intro C++ 숙제에서 일하고 있지만 막혔습니다.C++ 클래스 인스턴스
Account *GetAccount(int an);
int main()
{
Account *a1,*a2,*b1;
a1=GetAccount(123);
a2=GetAccount(456);
b1=GetAccount(123);
if(a1==b1)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
GetAccount 방법은 인스턴스가 이미 않는 경우, 해당 인스턴스를 반환 동일한 계정 번호가 존재하는지 여부를 확인하기로되어있다.
내가 생각할 수있는 유일한 방법은 계정 배열을 만들고 계정을 검색 한 다음 존재하지 않는 경우 배열에 새 계정을 삽입하는 것입니다. 포인터가 있으면 포인터를 배열에 반환합니다.
이 방법은 실제로 나에게 효율적으로 보이지 않으며 다른 방법이 있습니까?
예. 그것을 확인하는 가장 효율적인 방법은 배열이지만 인스턴스를 반환하기 때문에 포인터 공간이 필요합니다. 500 개의 계정을 가질 계획이라면 500x4 바이트 = 2000 바이트 또는 1.95kb가됩니다. 물론 32 비트 포인터. 일반적인 조회는 다음과 같습니다. 계정 * GetAccount (int an) { return accountsArray [an]; } AccountsArray는 컴파일 타임 또는 동적 메모리에서 만든 정적 배열 일 수 있습니다. 물론 다른 솔루션도 매우 좋습니다. 지도 나 벡터를 사용하는 것이 좋습니다. – toto