C est un langage de programmation informatique à usage général utilisé pour les systèmes d'exploitation, les jeux et autres travaux de haute performance.
Les règles de base C ++ ont la règle ES.20: toujours initialiser un objet . Évitez les erreurs used-before-set et leur comportement indéfini associé. Évitez les problèmes de compréhension de l'initialisation complexe. Simplifier le refactoring. Mais cette règle ne permet pas de trouver des bugs, elle ne fait que les …
Quand on conçoit son propre langage de programmation, quand est-il judicieux d'écrire un convertisseur qui prend le code source et le convertit en code C ou C ++ afin que je puisse utiliser un compilateur existant tel que gcc pour obtenir du code machine? Y a-t-il des projets qui utilisent …
Considérez l'énumération suivante et l'instruction switch: typedef enum { MaskValueUno, MaskValueDos } testingMask; void myFunction(testingMask theMask) { switch (theMask) { case MaskValueUno: {}// deal with it case MaskValueDos: {}// deal with it default: {} //deal with an unexpected or uninitialized value } }; Je suis un programmeur Objective-C, mais je …
La société dans laquelle je travaille initialise toutes ses structures de données à l’aide d’une fonction d’initialisation comme celle-ci: //the structure typedef struct{ int a,b,c; } Foo; //the initialize function InitializeFoo(Foo* const foo){ foo->a = x; //derived here based on other data foo->b = y; //derived here based on other …
Je sais que j'ai souvent entendu dire que le langage C offre généralement un avantage en termes de performances par rapport au C ++. Je n'y ai pas vraiment pensé avant de me rendre compte que MSVC ne semble même pas prendre en charge le dernier standard de C, mais …
Nous avons tous définitivement utilisé typedefs et #defines une fois ou l'autre. Aujourd'hui, en travaillant avec eux, j'ai commencé à réfléchir à quelque chose. Considérez les 2 situations ci-dessous pour utiliser intle type de données avec un autre nom: typedef int MYINTEGER et #define MYINTEGER int Comme dans la situation …
Pendant des années, j'ai envisagé de creuser dans ce que je considère comme des langues de «bas niveau». Pour moi, cela signifie C et l'assemblage. Cependant, je n'avais pas encore le temps pour cela, et cela n'a jamais été nécessaire. Maintenant, parce que je ne vois aucune nécessité, je pense …
J'ai donc rencontré de nombreux commentaires / articles / etc. concernant la création directe de makefiles, et comment c'est une chose stupide à faire en 2015. Je connais des outils tels que CMake, et j'utilise CMake assez souvent. Le fait est que CMake crée simplement le Makefile pour vous et …
Le préprocesseur C est attaché à C, mais il a une syntaxe complètement différente du langage principal: espace blanc syntaxiquement significatif (la fin de la ligne termine une instruction, un espace après que la macro détermine le début de la liste de remplacement) blocs basés sur des mots clés au …
J'ai passé en revue la programmation C et il y a juste quelques choses qui me dérangent. Prenons ce code par exemple: int myArray[5] = {1, 2, 2147483648, 4, 5}; int* ptr = myArray; int i; for(i=0; i<5; i++, ptr++) printf("\n Element %d holds %d at address %p", i, myArray[i], …
Je sais que les pointeurs contiennent des adresses. Je sais que les types de pointeurs sont "généralement" connus en fonction du "type" de données vers lesquelles ils pointent. Mais, les pointeurs sont toujours des variables et les adresses qu'ils détiennent doivent avoir un "type" de données. Selon mes informations, les …
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions / réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, des sondages ou une discussion approfondie. …
Quel (s) avantage (s) des littéraux de chaîne étant en lecture seule justifient (-ies / -ied): Encore une autre façon de se tirer une balle dans le pied char *foo = "bar"; foo[0] = 'd'; /* SEGFAULT */ Incapacité à initialiser avec élégance un tableau de lecture-écriture de mots sur …
Dans des langages comme C et C ++, tout en utilisant des pointeurs vers des variables, nous avons besoin d'un emplacement mémoire supplémentaire pour stocker cette adresse. N'est-ce pas une surcharge de mémoire? Comment est-ce compensé? Les pointeurs sont-ils utilisés dans des applications à faible mémoire critique?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.