Articles of c #

Longueur de calcul d’une chaîne C au moment de la compilation. Est-ce vraiment une constexpr?

J’essaie de calculer la longueur d’une chaîne littérale au moment de la compilation. Pour ce faire, j’utilise le code suivant: #include int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf(“%d %d”, length(“abcd”), length(“abcdefgh”)); } Tout fonctionne comme prévu, le programme imprime 4 et […]

AddRange à une collection

Un collègue m’a demandé aujourd’hui comment append une gamme à une collection. Il a une classe qui hérite de Collection . Il existe une propriété get-only de ce type qui contient déjà certains éléments. Il souhaite append les éléments d’une autre collection à la collection de propriétés. Comment peut-il le faire en mode C # […]

ssortingng.Empty vs null.Quel est celui que vous utilisez?

Récemment, un collègue au travail m’a dit de ne pas utiliser ssortingng.Empty lors de la définition d’une variable de chaîne, mais d’utiliser null lorsqu’il pollue la stack? Il dit ne pas faire ssortingng mySsortingng=ssortingng.Empty; mais faire de la ssortingng myssortingng=null; Est-ce que c’est vraiment important? Je sais que la chaîne est un object, donc ça […]

Conseils pour optimiser les programmes C # /. NET

Il semble que l’optimisation soit un art perdu de nos jours. N’y a-t-il pas eu un moment où tous les programmeurs ont tiré chaque once d’efficacité de leur code? Le fait souvent en marchant cinq milles dans la neige? Dans le but de ramener un art perdu, quels sont les conseils que vous connaissez pour […]

Quelle est la fonction pour remplacer la chaîne dans C?

Étant donné une chaîne (char *), je souhaite rechercher toute l’occurrence d’une sous-chaîne et la remplacer par une autre chaîne. Je ne vois aucune fonction simple qui réalise cela dans

Idiome (s) pour «pour chaque sauf le dernier» (ou «entre chaque paire d’éléments consécutive»)

Tout le monde rencontre ce problème à un moment donné: for(const auto& item : items) { cout << item << separator; } … et vous obtenez un séparateur supplémentaire que vous ne voulez pas à la fin. Parfois, cela n’imprime pas, mais, par exemple, exécute une autre action, mais des actions consécutives du même type […]

Comment comstackr un fichier .c sur mon Mac?

Comment comstackr un fichier .c sur mon Mac?

Qu’est-ce qu’une fonction de trampoline?

Lors des récentes discussions au travail, quelqu’un a évoqué une fonction de trampoline. J’ai lu la description sur Wikipedia . Il suffit de donner une idée générale de la fonctionnalité, mais j’aimerais quelque chose de plus concret. Avez-vous un extrait de code simple qui illustrerait un trampoline?

Pourquoi est-ce que je reçois «une étiquette ne peut faire partie que d’une déclaration et une déclaration n’est pas une déclaration» si j’ai une variable qui est initialisée après une étiquette?

J’ai le code simplifié suivant: #include int main () { printf(“Hello “); goto Cleanup; Cleanup: char *str = “World\n”; printf(“%s\n”, str); } Je reçois une erreur car une nouvelle variable est déclarée après l’étiquette. Si je mets le contenu (principalement l’initialisation) après l’étiquette dans un bloc {}, la compilation réussit. Je pense comprendre la raison […]

Pourquoi puis-je définir des structures et des classes dans une fonction en C ++?

Je me suis juste trompé en C ++, et ça marche. Pourquoi est-ce que je peux faire ça? int main(int argc, char** argv) { struct MyStruct { int somevalue; }; MyStruct s; s.somevalue = 5; } Maintenant, après avoir fait cela, je me suis souvenu avoir lu quelque chose sur cette astuce, il y a […]