Articles of stdmap

std :: set ne détecte pas les objects personnalisés en double

J’ai une carte pour garder le nom de l’équipe et les joueurs de l’équipe std:pair<std::string, std::vector > et un ensemble de pointeurs vers les joueurs pour que les joueurs soient sortingés par ordre décroissant gagne. Et il y a le problème: un joueur peut participer à plus d’une équipe. class Player { public: int wins; […]

Sérialisation binary C ++ Boost de pointeurs conatining construits à partir de Boost object_pool

Mon application a une classe “MyClass”. Ses objects sont construits à partir de Boost Object_pool. J’ai besoin de sérialiser / de sérialiser un std :: map contenant ces objects comme valeur via la sérialisation boost binary. Pour la sérialisation – Je prends un pointeur dans le pool, effectue quelques opérations, l’insère dans std :: map […]

Initialisation corrigée d’une erreur du compilateur std :: map member

Le code suivant ne comstack pas à l’aide de Visual Studio 2013. Il comstack à l’aide de Xcode 6.1 (Clang 3.5). std::ssortingng s1(“one”); std::ssortingng s2(“two”); std::ssortingng s3(“three”); std::ssortingng s4(“four”); class X { typedef std::map MyMapType; MyMapType map1 = { { s1, s2 }, { s3, s4 } }; MyMapType map2 = { { std::make_pair(s1, s2) […]

Accéder de manière atomique aux ressources stockées dans une carte

Je veux stocker des instances de std :: shared_ptr en classes C ++ dans une mappe, par exemple std :: map, à l’aide d’une clé entière. Cependant, j’ai besoin de cette carte pour avoir deux propriétés: Si la clé n’existe pas, retournez une erreur plutôt que de créer un nouvel object. Si la clé existe, […]

clé composite carte std

J’ai un problème avec la méthode operator <() qui est requirejse pour std :: map. J’utilise une struct comme clé composite qui ressemble à ceci: struct MyKey { std::ssortingng ssortingng1; std::ssortingng ssortingng2; std::ssortingng ssortingng3; unsigned int uint1; friend bool operator<(const MyKey& mk1, const MyKey& mk2) { return mk1.string1 < mk2.string1 && mk1.string2 < mk2.string2 && […]

nested std :: map en utilisant des pointeurs

J’utilise une carte dans une carte et je souhaite accéder à un membre spécifique de la deuxième carte. std::map<int, std::map*> MyMap

Itération sur un conteneur dans les deux sens

Existe-t-il un meilleur moyen que le code ci-dessous d’itérer sur un conteneur dans les deux sens, en utilisant les mêmes iterators? #include #include int main() { const bool descend = false; std::map mapp; mapp[1] = 1; mapp[2] = 2; mapp[3] = 3; mapp[4] = 4; std::map::iterator startIter = descend ? –(mapp.end()) : mapp.begin(); std::map::iterator endIter […]

Clé personnalisée pour std :: map

J’essaie d’utiliser la struct suivante comme clé personnalisée pour std::map : struct ActionId { // ENCAPSULATED MEMBERS private: size_t _id; static size_t _root; static size_t incrementedRoot() { return (_root += 1); } // INTERFACE public: ActionId() : _id(incrementedRoot()) { } ActionId(const ActionId& that) : _id(that._id) { } ActionId& operator=(const ActionId& that) { this->_id = that._id; […]

Boost.Assign: utiliser des objects avec map_list_of?

Utilisation de C ++ avec boost. Dans Boost.Assign, puis-je utiliser le nouvel opérateur avec map_list_of? Par exemple: std::map objects = boost::assign::map_list_of (1, new MyObject())(2, new MyObject())(3, new MyObject()) Si non, y a-t-il une autre façon de le faire?

Comment utiliser un boost :: mutex comme type mappé dans std :: map?

Je voudrais verrouiller les clés / index dans une autre carte comme celle-ci: std::map pointCloudsMutexes_; pointCloudsMutexes_[index].lock(); Cependant, j’obtiens l’erreur suivante: /usr/include/c++/4.8/bits/stl_pair.h:113: error: no matching function for call to ‘boost::mutex::mutex(const boost::mutex&)’ : first(__a), second(__b) { } ^ Cela semble fonctionner avec std::vector , mais pas avec std::map . Qu’est-ce que je fais mal?