Articles of g ++

Que veut dire l’opérateur?

En parcourant cette bibliothèque BigInt C ++ et en trouvant le fichier BigInt.cpp . En haut, il y a un commentaire sur la compatibilité: Cette classe a été écrite pour le compilateur g ++ et utilise certaines des extensions g ++ (comme “long double” et l’opérateur “>? =”). Qu’est-ce que cet opérateur fait? Je ne […]

Durée de vie des objects temporaires lors de l’initialisation de la liste

J’ai toujours supposé que les objects temporaires vivent jusqu’à la fin d’une expression complète. Voici cependant une curieuse différence entre les initialisations d’un std::vector et d’un tableau. Veuillez considérer le code suivant: #include #include struct ID{ static int cnt; // the number of living object of class ID at the moment of creation: int id; […]

Comstackr c ++ 14-code avec g ++

J’utilise g ++ 4.8.4 sur Ubuntu 14.04 LTS. En essayant de comstackr avec ‘-std = c ++ 14‘, j’obtiens cette erreur: g++: error unrecognized command line option ‘-std=c++14′ Comstackr avec ‘-std = c ++ 11’ fonctionne bien, donc je ne suis pas sûr de ce qui se passe. Est-ce que g ++ n’a pas encore […]

Pourquoi typeid.name () renvoie-t-il des caractères étranges à l’aide de GCC et comment les imprimer?

Comment se fait-il que je lance ce main.cpp : #include #include using namespace std; struct Blah {}; int main() { cout << typeid(Blah).name() << endl; return 0; } En le compilant avec GCC version 4.4.4: g++ main.cpp J’ai compris: 4Blah Sur Visual C ++ 2008, j’obtiendrais: struct Blah Y a-t-il un moyen de faire simplement […]

Définition en ligne de la table C en C ++

J’ai un code en C qui comstack et fonctionne correctement et je voudrais utiliser un code similaire en C ++: static const char* aTable[12] = { [4]=”seems”, [6]=” it “, [8]=”works”,}; int main(){ printf(“%s%s%s”, aTable[4],aTable[6],aTable[8]); return 0; } Maintenant, si je le mets dans un fichier .c et comstack avec gcc ça marche. Mais si […]

Obtenir un tas d’erreur d’initialisation croisée

J’ai ces extraits de code extraits d’un exemple téléchargé: bool ChatServer::event(QEvent * event) { if(event->type() == QEvent::User) { UserEvent * ue = static_cast(event); switch(ue->userType) { case CR::ErrorEvent: case CR::LogEvent: { TraceEvent * te = static_cast(ue); if(te->userType == CR::ErrorEvent) { error(te->msg); } else { log(te->msg); } } break; default: return false; } } else { return […]

Le mot clé ressortingct offre-t-il des avantages significatifs en gcc / g ++?

Quelqu’un a-t-il vu des chiffres / parsings pour savoir si l’utilisation du mot-clé ressortingct C / C ++ dans gcc / g ++ actual fournit une amélioration significative des performances dans la réalité (et pas seulement en théorie)? J’ai lu divers articles recommandant / dénigrant son utilisation, mais je n’ai pas rencontré de nombres réels […]

Pourquoi alias template donne-t-il une déclaration contradictoire?

Le port d’un code C ++ 11 de Clang à g ++ template using value_t = typename T::value_type; template struct S { using value_type = int; static value_type const C = 0; }; template value_t<S> // gcc error, typename S::value_type does work const S::C; int main() { static_assert(S::C == 0, “”); } donne un comportement […]

Comment puis-je comstackr du code CUDA puis le lier à un projet C ++?

Je cherche de l’aide pour démarrer un projet impliquant CUDA. Mon but est d’avoir un projet que je peux comstackr dans le compilateur natif g ++ mais qui utilise le code CUDA. Je comprends que je dois comstackr mon code CUDA dans le compilateur nvcc, mais si je comprends bien, je peux en quelque sorte […]

Améliorer la sortie de g ++

g ++ produit parfois des sorties assez compliquées. Spécialement lorsqu’il s’agit de modèles. Y at-il un outil qui rend la sortie de g ++ plus lisible? … au moins un peu de couleur? Cela peut sembler idiot de poser cette question ici, mais je n’ai pas pu me frayer un chemin avec Google.