J’essayais d’implémenter une liste chaînée pour résoudre un problème d’algorithme. Cela a fondamentalement fonctionné, cependant, il s’est avéré que j’utilisais trop de mémoire. J’apprécierais que quelqu’un souligne les défauts de la conception du destructeur suivant. template struct Node { Node(): item(0),next(0) {} Node(T x): item(x),next(0) {} T item; Node* next; }; template struct List { […]
Dans le cadre de ma thèse, je travaille dans un projet CUDA (modification du code de quelqu’un d’autre, ajout de fonctionnalités, etc.). Être nouveau chez CUDA, cela devient un véritable défi pour moi. Je travaille avec la capacité de calcul 1.3 cartes, 4 x Tesla C1060. Et malheureusement, je suis frappé certaines limitations de la […]
Ma question de base concerne le fonctionnement des fichiers de suppression dans valgrind. J’ai consulté une grande partie de la documentation suggérant d’utiliser les éléments suivants sur les versions mpi> 1.5 (la mienne est 1.6): mpirun -np 2 valgrind –suppressions=/usr/share/openmpi/openmpi-valgrind.supp –track-origins=yes ./myprog Cependant, lorsque je l’exécute comme ceci, le fichier contient plus de 600 erreurs! […]
Environnement: Windows 8 64 bits, serveur Windows 2008 64 bits Visual Studio (professionnel) 2012 64 bits liste L; // J’ai mis en cache des milliers de CMyObject volumineux, partagés par différents threads de mon programme de service Windows. Pour notre produit middleware SaaS, nous mettons en mémoire cache 1 000 objects C ++ volumineux (objects […]
Je comprends que si un vecteur std :: est redimensionné (je crois que sa taille a augmenté), l’emplacement de la mémoire du vecteur est déplacé dans le but de trouver un nouvel emplacement dans la mémoire de segment qui conviendra réellement à la nouvelle taille. Dans ce cas, si j’ai les pointeurs A, B et […]
Je suis le modèle de sablier de Stefanus Du Toit, c’est-à-dire qu’il met en œuvre une API C en C ++, puis l’enveloppe à nouveau en C ++. Ceci est très similaire à l’idiome pimpl , il est également transparent pour l’utilisateur, mais évite davantage de problèmes liés à ABI et permet un plus grand […]
Je ne peux pas utiliser shared_ptr dans mon projet, pas de boost 🙁 Donc, je vais avoir un cours à peu près similaire à celui ci-dessous: class MyClass { private: std::auto_ptr obj; }; Maintenant, je veux stocker les instances de la classe ci-dessus dans std :: vector. Est-ce sûr? J’ai lu ici qu’il est faux […]
J’écris en c ++ pour la Nintendo DS (avec 4 Mo de RAM). J’ai une classe de boutons qui stocke des données telles que l’emplacement x, y et la longueur. Lequel des éléments suivants prendrait moins de mémoire? . Méthode 1 , longueur des variables de classe, x, y et halfPoint Button::Button(int setX, int setY, […]
Visual Studio C ++ 2008/2010 prend- _mm_malloc officiellement en charge _mm_malloc ? Il est défini dans malloc.h mais je ne trouve pas sa description dans la bibliothèque MSDN.
Cette question concerne la construction d’instances d’allocateur personnalisé lors de l’insertion dans std :: map. Voici un allocateur personnalisé pour std::map ainsi qu’un petit programme qui l’utilise: #include #include #include #include class MyPool { public: void * GetNext() { return malloc(24); } void Free(void *ptr) { free(ptr); } }; template class MyPoolAlloc { public: static […]