궁금한궁금이의 공포의 문제
1.
2.
1과 2중 어떤게 효율적일까? addDumpMemory 함수는 public으로 선언이 되어있으며 무조건 inline 함수이다.
2의 createNewMemoryBlock 함수는 일반 함수이며 private로 선언이 되어있다.
1.
inline MemoryRecyclingSystem::addDumpMemory( void* _dumpMemory )
{
if( !memoryStore[index] )
{
memoryStore[index] = (void*)malloc( ( blockEndIndex + 1 ) * zl_pointersize ) ;
*(void**)( memoryStore[ blockEndIndex ] ) = (void*)( memoryStore );
memoryStore = (void**)( memoryStore[index] );
memoryStore[ blockEndIndex ] = zl_nullmemory;
index = 1;
}
memoryStore[index++] = (void*)( _dumpMemory );
}
{
if( !memoryStore[index] )
{
memoryStore[index] = (void*)malloc( ( blockEndIndex + 1 ) * zl_pointersize ) ;
*(void**)( memoryStore[ blockEndIndex ] ) = (void*)( memoryStore );
memoryStore = (void**)( memoryStore[index] );
memoryStore[ blockEndIndex ] = zl_nullmemory;
index = 1;
}
memoryStore[index++] = (void*)( _dumpMemory );
}
2.
inline MemoryRecyclingSystem::addDumpMemory( void* _dumpMemory )
{
if( !memoryStore[index] )
{
createNewMemoryBlock();
}
memoryStore[index++] = (void*)( _dumpMemory );
}
{
if( !memoryStore[index] )
{
createNewMemoryBlock();
}
memoryStore[index++] = (void*)( _dumpMemory );
}
1과 2중 어떤게 효율적일까? addDumpMemory 함수는 public으로 선언이 되어있으며 무조건 inline 함수이다.
2의 createNewMemoryBlock 함수는 일반 함수이며 private로 선언이 되어있다.
전 1번같습니다. 개허접이라 그렇게 생각한 이유는 쪽팔려서 말못하겠습니다.
아스트라로테// 나는 질문을 한 게 아니라 문제를 낸 건데
근데 답은 언제발표?
현기증나려합니다
일단 시간 공간 그런거 없고 무조건 \"효율\"적인게 머냐고 물어본거부터 에러.
C++ 안접해봐서 잘 모르겠지만, 2번으로 하겠습니다.
브랜치 한번 안하고 스택 한번 안쓰는 대신 바이트 코드량을 늘리겠다는 건데 나같으면 애초에 타임 리소스가 널럴하면 이 코드를 인라인으로 안하겠다.
그래서 문제가 뭔데;;;