Questions marquées «c++»

105
Constexpr implique-t-il en ligne?

Considérez la fonction intégrée suivante: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } et la version équivalente de constexpr: //...

105
Comment initialiser la variable membre const dans une classe?

#include <iostream> using namespace std; class T1 { const int t = 100; public: T1() { cout << "T1 constructor: " << t << endl; } }; Lorsque j'essaie d'initialiser la variable membre const tavec 100. Mais cela me donne l'erreur suivante: test.cpp:21: error: ISO C++ forbids...

104
Échange de deux valeurs de variable sans utiliser de troisième variable

Une des questions très délicates posées lors d'une interview. Échangez les valeurs de deux variables comme a=10et b=15. Généralement, pour échanger deux valeurs de variables, nous avons besoin d'une troisième variable comme: temp=a; a=b; b=temp; Maintenant, l'exigence est de permuter les valeurs de...

104
opérateur booléen ++ et -

Aujourd'hui, en écrivant du code Visual C ++, je suis tombé sur quelque chose qui m'a surpris. Il semble que C ++ supporte ++ (incrémentation) pour bool, mais pas - (décrément). Est-ce juste une décision aléatoire, ou il y a une raison à cela? Cela compile: static HMODULE hMod = NULL; static bool...

104
Comment vérifier la prise en charge de C ++ 11?

Existe-t-il un moyen de détecter au moment de la compilation si le compilateur prend en charge certaines fonctionnalités de C ++ 11? Par exemple, quelque chose comme ceci: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template...

104
Lecture et écriture d'un fichier binaire

J'essaie d'écrire du code pour lire un fichier binaire dans un tampon, puis d'écrire le tampon dans un autre fichier. J'ai le code suivant, mais le tampon ne stocke que quelques caractères ASCII de la première ligne du fichier et rien d'autre. int length; char * buffer; ifstream is; is.open...

104
Virgule dans une macro C / C ++

Disons que nous avons une macro comme celle-ci #define FOO(type,name) type name Que nous pourrions utiliser comme FOO(int, int_var); Mais pas toujours aussi simplement que ça: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Bien sûr, nous pourrions...

104
Pourquoi argc n'est-il pas une constante?

int main( const int argc , const char[] const argv) Comme l' article n ° 3 du C ++ efficace déclare "Utiliser const chaque fois que possible", je commence à penser "pourquoi ne pas rendre ces paramètres const" constants "?. Existe-t-il un scénario dans lequel la valeur de argcest modifiée dans un...

104
Est-il légal d'indexer dans une structure?

Indépendamment de la gravité du code, et en supposant que l'alignement, etc. n'est pas un problème sur le compilateur / la plate-forme, ce comportement est-il indéfini ou cassé? Si j'ai une structure comme celle-ci: - struct data { int a, b, c; }; struct data thing; Est - il légal d'accès a, bet...

104
Que sont les coroutines en C ++ 20?

Que sont les coroutines dans c ++ 20? En quoi il est différent de "Parallelism2" ou / et "Concurrency2" (regardez l'image ci-dessous)? L'image ci-dessous provient de l'ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png

103
Utilisation de la bibliothèque C ++ dans le code C

J'ai une bibliothèque C ++ qui fournit diverses classes pour gérer les données. J'ai le code source de la bibliothèque. Je souhaite étendre l'API C ++ pour prendre en charge les appels de fonction C afin que la bibliothèque puisse être utilisée avec le code C et le code C ++ en même temps....