CRBMultiMap::CRBMultiMap
コンストラクターです。
explicit CRBMultiMap(
size_t nBlockSize = 10
) throw( );
パラメーター
- nBlockSize
ブロック サイズ。
解説
nBlockSize のパラメーターは、新しい要素が要求されたときに割り当てられたメモリの総量の単位です。 大きなブロック サイズはメモリ割り当てルーチンの呼び出しが低くなりますが、より多くのリソースを使用します。 既定値は 10 の要素に領域を一度に割り当てます。
使用できるそのほかのメソッドの情報の基本クラス CRBTree のドキュメントを参照してください。
使用例
// Define a multimap object which has an integer
// key, a double value, and a block size of 5
CRBMultiMap<int, double> myMap(5);
// Add some key/values. Notice how three
// different values are associated with
// one key. In a CRBMap object, the values
// would simply overwrite each other.
myMap.Insert(0, 1.1);
myMap.Insert(0, 1.2);
myMap.Insert(0, 1.3);
myMap.Insert(1, 2.1);
// Look up a key and iterate through
// all associated values
double v;
POSITION myPos = myMap.FindFirstWithKey(0);
while (myPos != NULL)
{
v = myMap.GetNextValueWithKey(myPos,0);
// As the loop iterates, v
// contains the values 1.3, 1.2, 1.1
}
// Remove all of the values associated with that key
size_t i = myMap.RemoveKey(0);
// Confirm all three values were deleted
ATLASSERT(i == 3);
必要条件
Header: atlcoll.h