请输入您要查询的百科知识:

 

词条 GetNextAssoc
释义

CMap::GetNextAssoc

void GetNextAssoc(POSITION& rNextPosition, KEY& rKey, VALUE& rValue) const

参数:

rNextPosition 指定一个以前GetNextAssoc或GetStartPosition调用返回的POSITION值的参考。 KEY 指定映射关键码类型的模板参数。 rKey 指定被获取元素返回的关键码。 VALUE 指定映射值的类型的模板参数。 rValue 指定要获取元素的返回值。

说明:

获取rNextPosition位置的映射元素,然后将rNextPosition更新为映射中新的元素。该函数在遍历映射中所有元素时非常重要。

如果获取的元素为映射的最后一项,那么rNextPosition的新值将设置为零。

CMapStringToOb::GetNextAssoc

void GetNextAssoc( POSITION& rNextPosition, CString& rKey, CObject*& rValue ) const;

参数:

rNextPosition 指定一个以前GetNextAssoc或GetStartPosition函数调用返回的POSITION值的参考。

rKey 指定被获取元素(字符串)的返回关键码。

rValue 指定要获取元素(CObject指针)的返回值,请参阅说明以获取该参数的更多信息。

说明:

获取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

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/16 14:48:56