Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at map::map (STL/CLR).
Constructs a container object.
Syntax
map();
explicit map(key_compare^ pred);
map(map<Key, Mapped>% right);
map(map<Key, Mapped>^ right);
template<typename InIter>
mapmap(InIter first, InIter last);
template<typename InIter>
map(InIter first, InIter last,
key_compare^ pred);
map(System::Collections::Generic::IEnumerable<GValue>^ right);
map(System::Collections::Generic::IEnumerable<GValue>^ right,
key_compare^ pred);
Parameters
first
Beginning of range to insert.
last
End of range to insert.
pred
Ordering predicate for the controlled sequence.
right
Object or range to insert.
Remarks
The constructor:
map();
initializes the controlled sequence with no elements, with the default ordering predicate key_compare()
. You use it to specify an empty initial controlled sequence, with the default ordering predicate.
The constructor:
explicit map(key_compare^ pred);
initializes the controlled sequence with no elements, with the ordering predicate pred
. You use it to specify an empty initial controlled sequence, with the specified ordering predicate.
The constructor:
map(map<Key, Mapped>% right);
initializes the controlled sequence with the sequence [``right``.
map::begin (STL/CLR)(),
right``.
map::end (STL/CLR)())
, with the default ordering predicate. You use it to specify an initial controlled sequence that is a copy of the sequence controlled by the map object right
, with the default ordering predicate.
The constructor:
map(map<Key, Mapped>^ right);
initializes the controlled sequence with the sequence [``right``->
map::begin (STL/CLR)(),
right``->
map::end (STL/CLR)())
, with the default ordering predicate. You use it to specify an initial controlled sequence that is a copy of the sequence controlled by the map object right
, with the default ordering predicate.
The constructor:
template<typename InIter>
map(InIter first, InIter last);
initializes the controlled sequence with the sequence [``first``,
last``)
, with the default ordering predicate. You use it to make the controlled sequence a copy of another sequence, with the default ordering predicate.
The constructor:
template<typename InIter>
map(InIter first, InIter last,
key_compare^ pred);
initializes the controlled sequence with the sequence [``first``,
last``)
, with the ordering predicate pred
. You use it to make the controlled sequence a copy of another sequence, with the specified ordering predicate.
The constructor:
map(System::Collections::Generic::IEnumerable<Key>^ right);
initializes the controlled sequence with the sequence designated by the enumerator right
, with the default ordering predicate. You use it to make the controlled sequence a copy of another sequence described by an enumerator, with the default ordering predicate.
The constructor:
map(System::Collections::Generic::IEnumerable<Key>^ right,
key_compare^ pred);
initializes the controlled sequence with the sequence designated by the enumerator right
, with the ordering predicate pred
. You use it to make the controlled sequence a copy of another sequence described by an enumerator, with the specified ordering predicate.
Example
// cliext_map_construct.cpp
// compile with: /clr
#include <cliext/map>
typedef cliext::map<wchar_t, int> Mymap;
int main()
{
// construct an empty container
Mymap c1;
System::Console::WriteLine("size() = {0}", c1.size());
c1.insert(Mymap::make_value(L'a', 1));
c1.insert(Mymap::make_value(L'b', 2));
c1.insert(Mymap::make_value(L'c', 3));
for each (Mymap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an ordering rule
Mymap c2 = cliext::greater_equal<wchar_t>();
System::Console::WriteLine("size() = {0}", c2.size());
c2.insert(c1.begin(), c1.end());
for each (Mymap::value_type elem in c2)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an iterator range
Mymap c3(c1.begin(), c1.end());
for each (Mymap::value_type elem in c3)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an iterator range and an ordering rule
Mymap c4(c1.begin(), c1.end(),
cliext::greater_equal<wchar_t>());
for each (Mymap::value_type elem in c4)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an enumeration
Mymap c5( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<
Mymap::value_type>^)%c3);
for each (Mymap::value_type elem in c5)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an enumeration and an ordering rule
Mymap c6( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<
Mymap::value_type>^)%c3,
cliext::greater_equal<wchar_t>());
for each (Mymap::value_type elem in c6)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct by copying another container
Mymap c7(c4);
for each (Mymap::value_type elem in c7)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct by copying a container handle
Mymap c8(%c3);
for each (Mymap::value_type elem in c8)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
return (0);
}
size
() = 0
[a 1] [b 2] [c 3]
size
() = 0
[c 3] [b 2] [a 1]
[a 1] [b 2] [c 3]
[c 3] [b 2] [a 1]
[a 1] [b 2] [c 3]
[c 3] [b 2] [a 1]
[c 3] [b 2] [a 1]
[a 1] [b 2] [c 3]
Requirements
Header: <cliext/map>
Namespace: cliext
See Also
map (STL/CLR)
map::generic_container (STL/CLR)
map::operator= (STL/CLR)