Wie kann man eine statische Karte richtig initialisieren? Brauchen wir eine statische Funktion, die sie initialisiert?
Antworten
Zu viele Anzeigen?
Drealmer
Punkte
5398
user3826594
Punkte
199
Dmitry Oberemchenko
Punkte
169
Emanuele Benedetti
Punkte
443
Wenn Sie mit C++98 feststecken und boost nicht verwenden wollen, hier ist die Lösung, die ich verwende, wenn ich eine statische Karte initialisieren muss:
typedef std::pair< int, char > elemPair_t;
elemPair_t elemPairs[] =
{
elemPair_t( 1, 'a'),
elemPair_t( 3, 'b' ),
elemPair_t( 5, 'c' ),
elemPair_t( 7, 'd' )
};
const std::map< int, char > myMap( &elemPairs[ 0 ], &elemPairs[ sizeof( elemPairs ) / sizeof( elemPairs[ 0 ] ) ] );
eduffy
Punkte
37562