术语 | CMapStringToOb::GetNextAssoc | ||||||
释义 | CMapStringToOb::GetNextAssoc void GetNextAssoc( POSITION& rNextPosition, CString& rKey, CObject*& rValue ) const; 参数:
说明: 获取rNextPosition位置的映射元素,然后将rNextPosition更新为映射中新的元素。该函数在遍历映射中所有元素时非常重要。值得注意的是位置次序与关键码值次序不必相同。 如果获取的元素为映射的最后一项,那么rNextPosition的新值将设置为零。 对于参数rValue,要确保将对象类型设置为CObject*&形式,这是编译器所需要的,如下面例子所示: CMyObject* ob; map.GetNextAssoc(pos, key, (CObject* &)ob); 这并不是根据模板建立的映射中GetNextAssoc的真实结果。 示例: 请参阅CObList::CObList,了解所有收集示例中使用的CAge类。 //example for CMapStringToOb::GetNextAssoc and CMapStringToOb::GetStartPosition CMapStringToOb map; POSITION pos; CString key; CAge* pa; map.SetAt( "Bart", new CAge( 13 ) ); map.SetAt( "Lisa", new CAge( 11 ) ); map.SetAt( "Homer", new CAge( 36 ) ); map.SetAt( "Marge", new CAge( 35 ) ); // Iterate through the entire map, dumping both name and age. for( pos = map.GetStartPosition(); pos != NULL; ) { map.GetNextAssoc( pos, key, (CObject*&)pa ); #ifdef _DEBUG afxDump << key << " : " << pa << "\"; #endif } 该程序的运行结果如下: Lisa : a CAge at $4724 11 Marge : a CAge at $47A8 35 Homer : a CAge at $4766 36 Bart : a CAge at $45D4 13 请参阅:CMapStringToOb::GetStartPosition |
||||||
随便看 |
|
MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。