tor ) { if( 2 == *itor ) array.erase( itor ); } 答:同样有缺少类型参数的问题。另外,每次调用“array.erase( itor );”,被删除元素之后的内容会自动往前移,导致迭代漏项,应在删除一项后使itor--,使之从已经前移的下一个元素起继续遍历。 12. 写一个函数,完成内存之间的拷贝。[考虑问题是否全面] 答: void* mymemcpy( void *dest, const void *src, size_t count ) { char* pdest = static_cast( dest ); const char* psrc = static_cast( src ); if( pdest>psrc && pdest{ for( size_t i=count-1; i!=-1; –i ) pdest[i] = psrc[i]; } else { for( size_t i=0; ipdest[i] = psrc[i]; } return dest; }
|