Articles of c #

Pourquoi cette variable inutilisée n’est-elle pas optimisée?

J’ai joué avec ComstackrExplorer de Godbolt. Je voulais voir à quel point certaines optimisations sont bonnes. Mon exemple de travail minimum est: #include int foo() { std::vector v {1, 2, 3, 4, 5}; return v[4]; } L’assembleur généré (par clang 5.0.0, -O2 -std = c ++ 14): foo(): # @foo() push rax mov edi, 20 […]

Qu’est-ce qu’un terme moderne pour «équivalence tableau / pointeur»?

À peu près tout le monde qui lit ceci est probablement familier avec ces trois faits essentiels sur C: Lorsque vous mentionnez le nom d’un tableau dans une expression, il évalue (la plupart du temps) un pointeur sur le premier élément du tableau. L’opérateur “array subscripting” [] fonctionne aussi bien pour les pointeurs que pour […]

Opérateur conditionnel C (‘?’) Avec deuxième paramètre vide

Typiquement le ‘?’ l’opérateur est utilisé sous la forme suivante: A ? B : C Cependant, dans les cas où B = AI a vu l’abréviation suivante A ? : C Cela fonctionne étonnamment. Est-il préférable de laisser le second paramètre (style wise), ou est-ce une chance que certains compilateurs ne puissent pas gérer cela?

Impossible de convertir implicitement le type ‘System.Collections.Generic.IEnumerable en’ System.Collections.Generic.List

J’ai le code ci-dessous: List aa = (from char c in source select new { Data = c.ToSsortingng() }).ToList(); Mais qu’en est-il List aa = (from char c1 in source from char c2 in source select new { Data = ssortingng.Concat(c1, “.”, c2)).ToList(); En compilant une erreur Impossible de convertir implicitement le type ‘System.Collections.Generic.List’ en […]

Comment utiliser #if dans #define dans le préprocesseur C?

Je veux écrire une macro qui crache du code basé sur la valeur booléenne de son paramètre. Donc, dites DEF_CONST(true) devrait être développé dans const , et DEF_CONST(false) devrait être étendu à rien. Clairement, ce qui suit ne fonctionne pas car nous ne pouvons pas utiliser un autre préprocesseur dans #defines: #define DEF_CONST(b_const) \ #if […]

Avantages de l’utilisation de std :: make_unique sur l’opérateur new

Quels sont les avantages d’utiliser std::make_unique sur l’opérateur new pour initialiser un std::unique_ptr ? En d’autres termes, pourquoi std::unique_ptr a = std::make_unique(SomeObject(…)) mieux que de faire std::unique_ptr a = new SomeObject(…) J’ai essayé de regarder en ligne beaucoup et je sais que c’est une bonne règle de base pour éviter l’opérateur new en C ++ […]

Utilisation de contains () dans LINQ to SQL

J’essaie d’implémenter une recherche par mot clé très simple dans une application utilisant linq-to-sql. Mes termes de recherche sont dans un tableau de chaînes, chaque élément du tableau étant un mot, et j’aimerais trouver les lignes contenant les termes de recherche. Cela ne me dérange pas s’ils contiennent plus que les termes de recherche (probablement, […]

Le comportement “char foo = 255” est-il indéfini si le caractère est signé?

Ce qui suit ne me donne aucun avertissement lors de la compilation avec gcc 4.5.2 sur une machine x86 avec Linux: char foo = 255; Mais quand j’utilise -pedantic , gcc dit: avertissement: débordement dans la conversion constante implicite La façon dont gcc agit est un peu étrange et cela me fait douter si je […]

Didacticiels de programmation COM (C ++)?

Existe-t-il de bons sites pour apprendre le C ++ / COM à partir de zéro? Je cherche quelque chose comme un cours intensif avec peut-être deux semaines de contenu. Le cours peut prendre des connaissances en standard C / C ++, ou du moins pas un mannequin complet.

Peut-on avoir une méthode statique virtuelle? (c ++)

Duplication possible: Membres virtuels statiques C ++? Peut-on avoir une méthode statique virtuelle (en C ++)? J’ai essayé de comstackr le code suivant: #include using namespace std; class A { public: virtual static void f() {cout << "A's static method" << endl;} }; class B :public A { public: static void f() {cout << "B's […]