Questions marquées «c++»

265
Forward déclarant une énumération en C ++

J'essaie de faire quelque chose comme ceci: enum E; void Foo(E e); enum E {A, B, C}; que le compilateur rejette. J'ai jeté un rapide coup d'œil sur Google et le consensus semble être "vous ne pouvez pas le faire", mais je ne comprends pas pourquoi. Quelqu'un peut-il expliquer? Clarification 2: je...

265
Fonctions membres std :: string length () et size ()

J'ai lu les réponses à cette question et a trouvé qu'il ya effectivement une méthode appelée length()pour std::string(j'ai toujours utilisé size()). Y a-t-il une raison spécifique pour avoir cette méthode en std::stringclasse? J'ai lu à la fois MSDN et CppRefernce, et ils semblent indiquer qu'il...

264
Comment puis-je lire et analyser des fichiers CSV en C ++?

J'ai besoin de charger et d'utiliser des données de fichier CSV en C ++. À ce stade, il ne peut s'agir que d'un analyseur délimité par des virgules (c'est-à-dire, ne vous inquiétez pas d'échapper aux nouvelles lignes et virgules). Le besoin principal est un analyseur ligne par ligne qui retournera...

262
convertir un char * en std :: string

J'ai besoin d'utiliser un std::stringpour stocker les données récupérées par fgets(). Pour ce faire, je dois convertir la char*valeur de retour de fgets()en un std::stringpour stocker dans un tableau. Comment cela peut-il être

262
Plafond rapide d'une division entière en C / C ++

Étant donné les valeurs entières xet y, C et C ++ renvoient tous les deux comme quotient q = x/yle plancher de l'équivalent en virgule flottante. Je suis intéressé par une méthode de retour du plafond à la place. Par exemple, ceil(10/5)=2et ceil(11/5)=3. L'approche évidente implique quelque chose...

260
Comment lever une exception C ++

J'ai une très mauvaise compréhension de la gestion des exceptions (c'est-à-dire, comment personnaliser les instructions throw, try, catch à mes propres fins). Par exemple, j'ai défini une fonction comme suit: int compare(int a, int b){...} J'aimerais que la fonction lève une exception avec un...

258
Comment faire une requête HTTP avec C ++?

Existe-t-il un moyen de faire facilement une requête HTTP avec C ++? Plus précisément, je souhaite télécharger le contenu d'une page (une API) et vérifier le contenu pour voir s'il contient un 1 ou un 0. Est-il également possible de télécharger le contenu dans une

257
jeter des exceptions d'un destructeur

La plupart des gens disent de ne jamais jeter d'exception d'un destructeur - cela entraîne un comportement indéfini. Stroustrup fait valoir que "le destructeur de vecteurs invoque explicitement le destructeur pour chaque élément. Cela implique que si un destructeur d'élément lance, la destruction...

257
Saisie semi-automatique dans Vim

En un mot, je recherche une fonctionnalité de saisie semi-automatique fonctionnelle pour l'éditeur Vim. J'ai déjà soutenu que Vim remplace complètement un IDE sous Linux et bien que cela soit certainement vrai, il manque une caractéristique importante: la saisie semi-automatique. Je connais Ctrl+...

256
Déterminer si la carte contient une valeur pour une clé?

Quelle est la meilleure façon de déterminer si une carte STL contient une valeur pour une clé donnée? #include <map> using namespace std; struct Bar { int i; }; int main() { map<int, Bar> m; Bar b = {0}; Bar b1 = {1}; m[0] = b; m[1] = b1; //Bar b2 = m[2]; map<int, Bar>::iterator...

256
Pointeur vs référence

Quelle serait la meilleure pratique pour attribuer à une fonction la variable d'origine avec laquelle travailler: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); ou: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW: Y a-t-il une raison de choisir l'un...

254
Avantages des fonctions en ligne en C ++?

Quels sont les avantages / inconvénients de l'utilisation des fonctions en ligne en C ++? Je vois que cela n'augmente que les performances du code généré par le compilateur, mais avec les compilateurs optimisés d'aujourd'hui, les processeurs rapides, la mémoire énorme, etc. (pas comme dans les...

254
Objectif des unions en C et C ++

J'ai utilisé les syndicats plus tôt confortablement; aujourd'hui, j'ai été alarmé en lisant cet article et j'ai appris que ce code union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is...