Je trouve pas gênant le fait de proscrire le goto. Ça pousse à ne s'en servir que dans des cas où tu en a réellement besoin.
Je pourrais être d'accord si les goto étaient encore utilisé comme ils l'étaient dans les années 60s, c'est à dire par des personnes venant de l'asm qui utilisaient goto, comme on utilise les jmp en assembleur. pour exprimer le code flow du programme.
le truck, c'est que goto a déjà une mauvaise réputation, et je voie vraiment pas quelqu'un faire un goto, la ou il pourrait faire un if, ou une boucle.
Avec un langages moderne (C++90, ou GNU C) on peu utiliser des mécanisme de RAII/defer ou autre, ce qui rend goto encore moins utile même pour gérer des erreurs.
Mais a coté de ça, j'ai vu plein de gents faire de la gestion d'erreur catastrophique en C, par peur des goto.
Je trouve aussi que le goto again a aussi un coté plus "code auto-documenté" qu'un do while() quand on veut exprimer des retry dans un programme.
Donc au final proscrire les goto, je trouve que ça protège pas vraiment des utilisation "sale" de goto, mais en empêche ces utilisation "légitime".
Les try-catch offrent bien moins de possibilités pour avoir un code spaghetti que des goto.
ce que je trouve bizarre avec les exceptions, c'est qu'elle évite les pire cotés du goto, elle permettent pas de remonter le flow du programme.
mais elle ont aussi un des coté spaghettisant que goto n'a pas, car C a évacué ça dans setjmp/longjmp, c'est la possibilité de sauter d'une fonction à une autre.
Utilisez des nested macros partout. C'est un bon moyen de réduire le code. Vous libérerez de l'espace sur le disque dur. Vos coéquipiers s'amuseront beaucoup lors du débogage.
Utilisez une ou deux lettres pour nommer les variables. De cette façon, vous pourrez faire tenir une expression plus complexe sur une ligne de l'écran.
pourquoi pas, mais en vrais la taille de variables, doit être proportionnel à la taille de la fonction qui la contiens.
s'amuser à déclarer des variables avec des noms bien explicite, dans une fonction avec un nom déjà bien explicite, ou les paramètres d'entrés on déjà des noms bien explicite, et qui fait 5 lignes de codes, c'est juste rajouter du bruit à ça fonction pour rien. C est un langage spartiate
Tous les anciens livres recommandent d'utiliser des variables de int type pour stocker array sizes et pour construire des loops. Continuons comme ça ! Ne rompez pas la tradition.
vrais sujet à débats, mais certain dev LLVM t'expliqueront que laisser un int, vu que c'est moins définit qu'un size_t, ça aide le compilo à optimiser ton programme.
Les variables globales sont exceptionnellement pratiques car vous pouvez y accéder de n'importe où.
oui. mais c'est vrais que quand on fait de l'object bien propre on est tellement au dessus de ça qu'on fait: soit des singleton,
soit on se balade dans la moitié de son code avec le même objet de configuration.
Au final, on à rajouté plein de boilerplate(pas la trad ?), et de code ultra verbeux qui ne serve qu'à éviter les horrible globale, qu'importe si on passer plus de temps a écrire chaque fonctions de son programme pour éviter des problème qui n'arrive pratiquement jamais(en tout SDL et linux s'en sorte très bien avec leur global), c'est plus propre on vous dit !
Cela n'a aucun sens de vérifier si la mémoire a été allouée. Les ordinateurs modernes ont une grande quantité de mémoire. Et s'il n'y a pas assez de mémoire pour terminer les opérations, le programme n'a pas besoin de continuer à fonctionner. Laissez le programme se plante. Il n'y a rien de plus à faire de toute façon
ouais, puis c'est pas comme si tout les OS moderne alloue la mémoire quand ils reçoivent un page-fault, ce qui rend impossible de détecter les erreurs de malloc, et donc rendes en pratique les vérification de la mémoire inutile sur ces OS.
quand on fait du code pour botos sur mars, on est sur de l'embarqué, donc les checks de malloc sont utile, le code pour rover martien, c'est la norme !
On dit que goto est nuisible. C'est absurde ! L'instruction goto est exceptionnellement puissant et peut remplacer de nombreuses autres instructions. Longue vie à goto et l'ascèse !
j'ai toujours admirer cette haine du goto, venant de personne qui n'ont jamais lut Dijkstra.
Dijkstra parle d'une utilisation du goto, qui remplacerais les if/else, switch/case, et autre boucles.
Aujourd'hui les utilisation principal de goto, c'est soit les goto-chain.
soit un utilisation avec des pointeur sur label pour optimiser des interpréter, soit pour des retry. mais continuons à répandre la rumeur que les goto sont héréditairement mauvais pour pas utiliser ces technique, que aucun projets sérieux ne prendrais.
ne faisons aucune exception. les try catch sont tellement moins spaghetti.
bon ça fait pas 50 raisons, mais j'ai pu donner tout mes mauvaises opinions de dev, et ca fait plaisir à étaler.
j'ai pertinenté, parce-que c'est trop bien ce genre de journal:
des mauvais idée pour développer… qui en vrais sont une manière détournée de donner des vrais conseilles. mais des-fois les mauvaises pratiques peuvent vraiment avoir leurs utilités.
(qui n'a jamais utiliser des pointeur de label pour optimiser une VM ?)
Je dit OUI.
bon enfin je devrais lire le journal avant de poster le commentaire.
Ok ce commentaire est con, je vais pas le poster et le su
C'est pas plus simple d'écouter plutôt que de tenter de prendre des notes?
si c'est typiquement ce que je fessais.
sauf qu'au lycée/collège tu prenais pas de notes, t'avais ton prof qui passait derrière toi pour t'engueuler, car si tu prend pas de notes, tu paye pas attention.
puis dans les années 2000, c'était plus chiant de trouver des cours sur l'internet, y'en avaient, mais ils étaient imbitable.
Mais, peu-être que la non-prise de notes, est plus accepté aujourd'hui.
bah non justement, j'ai l’impression que l'article allais plus dans le sens qu'il faut des méthodes différents pour des enfants différents. mais dans le but d'avoir le même apprentissage.
parce-que apprendre l’histoire, ou les math quand t'est dys, et que tu passe la moitié du temps à galérè a prendre des notes de ce que dit le prof. c'est plus dur que quand tu l'est pas, et donc un discrimination certaines.
sauf si par "trouver des solutions d'éducation adaptées à tous", tu pense qu'il existe une méthode qui puis marcher de la même efficacité pour tout le monde ?
âpres perso j'ai trouver l'article un peu lège, la partie la plus intéressent, c'est celle qui dit que moi, je vais jouer un rôle dans la survie de la planète.
alors que vous, personnes neurotypiquement chiantes, allez servir à rien.
Sauf qu'on parle de C. et ça c'est un problème de C++.
Le fait que C++ bug sur NULL, n'est pas une raison pour modifier le standard C il me semble.
En C NULL pose en theory problème soit avec les fonctions variadique, soit avec les _Generic (genre d'équivalent C de overloading de C++).
les _Generic, sont moins problématique, car:
c'est du C11, donc pas si utiliser.
il me semble que la seul utilité des _Generic dans la libc, c'est tgmath, qui gères des nombres, et donc n'ont pas gérés NULL.
le code est évaluer à la compilation, et le compilo C, sait convertir 0 en pointeur sans UB.
par contre les fonctions variadic sont plus problématique car:
très utiliser par la lib standard, et POSIX.
la convention d'appel est implémentation define je croie, mais le standard dit que passer un int à une functions attendant une pointeur, c'est UB. (alors que avant C89, convertir des int à l'arrache en pointeur, c’était très courent, et considéré comme une feature de C (dalleur ça se voie dans certains code source de vieux projets comme libperl, qui dises que leur int value pourras toujours contenir un pointeur))
bien sur je parle de théory, car au final, la définition de NULL est implémentation define, et toutes les vrais libc l'ont définit comme ((void *)0), donc on esquive les problèmes évoqués plut haut.
Mais le fait que ça reste une source de bug théorique, et que en C++ c'est pas théorique, ont je suppose poussé à rajouter nullptr au standard.
n’importe quel jeux proprio, commercial pas libre, qui a eux, 3 articles dans JVC, complétement oublier aujourd'hui, qui a fait un flop.
A plus d’intérêt qu'un jeux libre, jouer depuis 12ans, et toujours aujourd'hui.
toujours développement, avec un base de joueurs moyennement grande.
a coté de ça, les arguments méthodologie, semble juste comme une manière de justifier un truck qui à l'air bien injuste.
Refuser les sources collaborative, mais accepter quand c'est commerciale, me semble crée un biais qui a mémé intérêt encyclopédique (en terme de notoriété par article) vont favoriser les sujet commerciaux.
Ceci dit aucune méthode ne seras parfaire, mais si les projets libres sont défavoriser, comparer aux non-libre (ce que tu viens d'expliquer). en avoir conscience, me semble un bonne choses.
Sauf que c’était déjà la avec les _Noreturn et autre.
ce que fait la MAJ du langages, c'est de passer a la syntaxe C++, et déprécier la syntaxe C11/17.
Perso j'aurais bien aimer que __attribute__((cleanup(FUNCTION_PTR))) ou équivalent soie intégrer. (qui étais en discutions il me semble dalleur)
Il est déjà supporter par gcc,clang,icc,tcc.
Il y avais aussi une gestion des erreur différente en proposition, qui apparemment est pas passée.
oui, sauf que dans le cas d'une function variadic:
ex:
/* prend un int, et des pointeurs vers des truck, le dernier pointeur est NULL */
void function(int stuff, …)
appeler comme ca
function(0, 0);
le compilateur est incapable de savoir que le 2éme 0 est un pointeur au moment de l'appelle. (vu que le type n'est pas indiquée dans la signature de la function).
Après la définition par default de NULL a ((void *)0) fait que le code tombe en marche la plupart du temps en C, mais casse la plupart du temps en C++.
Ces problèmes sont bien connus et ont déjà été résolus dans C++11 par l’ajout de nullptr et du type nullptr_t. Ces changements ont été reportés dans la spécification du C par la note N3042.
Pour développer un peu.
En C NULL est généralement définit comme ((void *)0)
En C++, comme 0.
(mais ça reste implementation define dans les 2 cas)
La ou ça pose problème, c'est sur les function variadic qui prenne un pointeur qui peuvent/doives étre NULL, comme execl, qui a besoins d'un NULL a la fin.
exemple:
execl("./bin", "arg", NULL); // call bin with arg as argument
qui était généralement un bug en C++, car NULL étant 0, c'est un int (4 byte en 64bits) convertie en pointeur (8 byte en 64bits).
En C, pas un bug soue glibc, ni musl, mais ça reste implementation define.
Tout le monde dit pingouin donc pingouin, une langue évolue avec l'emploie qu'en font ces utilisateur.
C'est pas important que y'a 150 ans le mot avant une signification différente, une langue ça évolue.
Utiliser manchot pour parler de pinguin, c'est juste faire preuve de conservatisme déplacer.
Pingouin, Aussi vrais que le Francais est une langue moribonde incapable d'évoluer.
Bah oui, c'est sur que c'est le même genre de personne qui font téléverser un contenue qui peu être vu comme porno(Ex:un blogue art de nus, un site de BD amateur…).
Et ceux qui font des jeux en ligne a but lucrative.
A la limite si la loi touchez que les entreprisse avec un certain revenue, la comparaison tiendrais, mais la, pas vraiment. (edit: ce qui est peu être le cas, j'ai lut le journal, mais pas regarder les liens…)
Avec le beaux soue-entendu "si vous êtes contre la censure du porno, alors vous consommer du porno, et donc vous êtes un dégénérée"
Personnellement, je suis juste trop con pour savoir ou est la limite entre l'art et le porno, donc quand tu dit "on veut protéger les enfants du porno", j’entends "on veut casser leur c****** aux artiste pour leur empêcher de s'exprimer".
Et pour qui la liberté de ceux qui sont confrontés d'une manière ou d'une autre à celle-ci ne semble pas entre en compte…
Tien la dernier fois que j'ai vu un argument similaire, c'est sur le twitter de Lunduke(maintenant supprimée), ou il expliquait que exposer les enfants aux personnes saints-nus de la gay pride, c'est un crime, qui devrais être interdis.
Autans ça fait depuis que j'ai commencer le dev, que je voie des gents dire qu'il faut arrêter le C, car tout les 5,6ans y’a une faille de sécurité majeur qui ne pourrais pas arrivé dans un langage qui n'a rien de "unsafe" comme Rust.
A chaque nouvelle fonctionnalité de C++, on entend des gents dire d’arrêter le C, à un tel point que ça ma fait pas aimer le C++, alors que j'aimais bien le langage.
mais c'est l'une des 1er fois que je voie quelqu'un mettre C et C++ dans le même panier. (alors que bon le C++11 et les suivant sont quand même assez safe(au moins autant que GNU C + static analyse)).
Bon bah les dev C++, bienvenue au club des gents qui utilise un langage non grata !
quand t'a 2 pages remplie de "regardez ces femme qui tue leur enfant" (soue entendu avorter) et de tweet qui joue sur la panic morals des personnes trans, c'est assez precit oui.
On parla pas d'un tweet perdu maladroit la. c'est carement de l'acharnement.
mais vu qu'il a suprimer, j'en convien que le "croie moi" est trés faible.
oui, son compte est supprimer, mais il avais plein de tweet anty-avortement.
des tweet pour se plaindres des personnes trans dans le sport, il a aussi dit blocker "tout les gents qui mettes un sex qui n'est pas le leur".
si tu suivais l'époque ou il étais sur odysée, il c'est extrémiser pendant BLM.
Le mot "racisé" est entré en 2018 dans le Robert, qui le définit par « Personne touchée par le racisme, la discrimination ».
Aussi faut prendre "Racisme" (qui est un mot ultra ambiguë) au sens sociologique, c'est à dire, le racisme qui peu s'observer a l'échel d'une sociétée.
Donc, tu places une limite. Cette limite est subjective.
Oui.
"uso, quand tu insultes lunduke, tu travailles contre ton camp, car tu donnes raison aux racistes qui vont utiliser ton insulte pour démontrer qu'ils sont victimes".
[^] # Re: tout lu mais
Posté par uso (site web personnel) . En réponse au journal 50 mauvais conseils de codage pour développeur C++. Évalué à 2.
*Je connaissais pas.
j'ai oublié la négation, mais c'est un peu naze ces langue ou une négation peu changer le sens d'une phrases.
[^] # Re: tout lu mais
Posté par uso (site web personnel) . En réponse au journal 50 mauvais conseils de codage pour développeur C++. Évalué à 4.
Je pourrais être d'accord si les goto étaient encore utilisé comme ils l'étaient dans les années 60s, c'est à dire par des personnes venant de l'asm qui utilisaient goto, comme on utilise les jmp en assembleur. pour exprimer le code flow du programme.
le truck, c'est que goto a déjà une mauvaise réputation, et je voie vraiment pas quelqu'un faire un goto, la ou il pourrait faire un if, ou une boucle.
Avec un langages moderne (C++90, ou GNU C) on peu utiliser des mécanisme de RAII/defer ou autre, ce qui rend goto encore moins utile même pour gérer des erreurs.
Mais a coté de ça, j'ai vu plein de gents faire de la gestion d'erreur catastrophique en C, par peur des goto.
Je trouve aussi que le
goto again
a aussi un coté plus "code auto-documenté" qu'undo while()
quand on veut exprimer des retry dans un programme.Donc au final proscrire les goto, je trouve que ça protège pas vraiment des utilisation "sale" de goto, mais en empêche ces utilisation "légitime".
ce que je trouve bizarre avec les exceptions, c'est qu'elle évite les pire cotés du goto, elle permettent pas de remonter le flow du programme.
mais elle ont aussi un des coté spaghettisant que goto n'a pas, car C a évacué ça dans setjmp/longjmp, c'est la possibilité de sauter d'une fonction à une autre.
[^] # Re: tout lu mais
Posté par uso (site web personnel) . En réponse au journal 50 mauvais conseils de codage pour développeur C++. Évalué à 4.
Je connaissais et j'aime beaucoup.
C'est parce-que tu peu faire de genre de dinguerie, que les macro me manque dans n'importe quel langages qui n'est pas C.
une autre "lib" que j'aime beaucoup, qui fait un gros usage des macro, c'est queue.h de bsd (mais dans la glibc, et aussi single-file lib) https://github.com/openbsd/src/blob/master/sys/sys/queue.h
# tout lu mais
Posté par uso (site web personnel) . En réponse au journal 50 mauvais conseils de codage pour développeur C++. Évalué à 4. Dernière modification le 22 février 2023 à 00:16.
je croie qu'il faudrait renommer l'article en:
"50 raison pour laquelle si Coder en C ne servirait qu'a éloigner les dev C++, C resterait un meilleur langage que C++"
Oui, les, macros c'est le mal. les macro c'est bugué. en attendant, un
json_object_object_foreach reste bien plus intuitive a utiliser, et moins verbeux que la plupart des solutions a base d'iterator.
pourquoi pas, mais en vrais la taille de variables, doit être proportionnel à la taille de la fonction qui la contiens.
s'amuser à déclarer des variables avec des noms bien explicite, dans une fonction avec un nom déjà bien explicite, ou les paramètres d'entrés on déjà des noms bien explicite, et qui fait 5 lignes de codes, c'est juste rajouter du bruit à ça fonction pour rien.
C est un langage spartiate
vrais sujet à débats, mais certain dev LLVM t'expliqueront que laisser un int, vu que c'est moins définit qu'un size_t, ça aide le compilo à optimiser ton programme.
oui. mais c'est vrais que quand on fait de l'object bien propre on est tellement au dessus de ça qu'on fait: soit des singleton,
soit on se balade dans la moitié de son code avec le même objet de configuration.
Au final, on à rajouté plein de boilerplate(pas la trad ?), et de code ultra verbeux qui ne serve qu'à éviter les horrible globale, qu'importe si on passer plus de temps a écrire chaque fonctions de son programme pour éviter des problème qui n'arrive pratiquement jamais(en tout SDL et linux s'en sorte très bien avec leur global), c'est plus propre on vous dit !
ouais, puis c'est pas comme si tout les OS moderne alloue la mémoire quand ils reçoivent un page-fault, ce qui rend impossible de détecter les erreurs de malloc, et donc rendes en pratique les vérification de la mémoire inutile sur ces OS.
quand on fait du code pour botos sur mars, on est sur de l'embarqué, donc les checks de malloc sont utile, le code pour rover martien, c'est la norme !
j'ai toujours admirer cette haine du goto, venant de personne qui n'ont jamais lut Dijkstra.
Dijkstra parle d'une utilisation du goto, qui remplacerais les if/else, switch/case, et autre boucles.
Aujourd'hui les utilisation principal de goto, c'est soit les goto-chain.
soit un utilisation avec des pointeur sur label pour optimiser des interpréter, soit pour des retry. mais continuons à répandre la rumeur que les goto sont héréditairement mauvais pour pas utiliser ces technique, que aucun projets sérieux ne prendrais.
ne faisons aucune exception. les try catch sont tellement moins spaghetti.
bon ça fait pas 50 raisons, mais j'ai pu donner tout mes mauvaises opinions de dev, et ca fait plaisir à étaler.
# pas lut mais
Posté par uso (site web personnel) . En réponse au journal 50 mauvais conseils de codage pour développeur C++. Évalué à 0.
j'ai pertinenté, parce-que c'est trop bien ce genre de journal:
des mauvais idée pour développer… qui en vrais sont une manière détournée de donner des vrais conseilles. mais des-fois les mauvaises pratiques peuvent vraiment avoir leurs utilités.
(qui n'a jamais utiliser des pointeur de label pour optimiser une VM ?)
Je dit OUI.
bon enfin je devrais lire le journal avant de poster le commentaire.
Ok ce commentaire est con, je vais pas le poster et le su
[^] # Re: Rahan
Posté par uso (site web personnel) . En réponse au lien Une remise en question de notre vision des troubles «dys». Évalué à 3.
si c'est typiquement ce que je fessais.
sauf qu'au lycée/collège tu prenais pas de notes, t'avais ton prof qui passait derrière toi pour t'engueuler, car si tu prend pas de notes, tu paye pas attention.
puis dans les années 2000, c'était plus chiant de trouver des cours sur l'internet, y'en avaient, mais ils étaient imbitable.
Mais, peu-être que la non-prise de notes, est plus accepté aujourd'hui.
[^] # Re: Rahan
Posté par uso (site web personnel) . En réponse au lien Une remise en question de notre vision des troubles «dys». Évalué à 2.
bah non justement, j'ai l’impression que l'article allais plus dans le sens qu'il faut des méthodes différents pour des enfants différents. mais dans le but d'avoir le même apprentissage.
parce-que apprendre l’histoire, ou les math quand t'est dys, et que tu passe la moitié du temps à galérè a prendre des notes de ce que dit le prof. c'est plus dur que quand tu l'est pas, et donc un discrimination certaines.
sauf si par "trouver des solutions d'éducation adaptées à tous", tu pense qu'il existe une méthode qui puis marcher de la même efficacité pour tout le monde ?
âpres perso j'ai trouver l'article un peu lège, la partie la plus intéressent, c'est celle qui dit que moi, je vais jouer un rôle dans la survie de la planète.
alors que vous, personnes neurotypiquement chiantes, allez servir à rien.
[^] # Re: nullptr
Posté par uso (site web personnel) . En réponse à la dépêche Nouveautés du langage C dans sa prochaine version C23. Évalué à 2.
Sauf qu'on parle de C. et ça c'est un problème de C++.
Le fait que C++ bug sur NULL, n'est pas une raison pour modifier le standard C il me semble.
En C NULL pose en theory problème soit avec les fonctions variadique, soit avec les _Generic (genre d'équivalent C de overloading de C++).
les _Generic, sont moins problématique, car:
par contre les fonctions variadic sont plus problématique car:
bien sur je parle de théory, car au final, la définition de NULL est implémentation define, et toutes les vrais libc l'ont définit comme ((void *)0), donc on esquive les problèmes évoqués plut haut.
Mais le fait que ça reste une source de bug théorique, et que en C++ c'est pas théorique, ont je suppose poussé à rajouter nullptr au standard.
[^] # Re: le petit bout de la lorgnette
Posté par uso (site web personnel) . En réponse au journal si on ne fait rien, Xonotic va disparaitre de wikipedia FR. Évalué à 9. Dernière modification le 31 janvier 2023 à 16:28.
personnellement je viens de lire:
n’importe quel jeux proprio, commercial pas libre, qui a eux, 3 articles dans JVC, complétement oublier aujourd'hui, qui a fait un flop.
A plus d’intérêt qu'un jeux libre, jouer depuis 12ans, et toujours aujourd'hui.
toujours développement, avec un base de joueurs moyennement grande.
a coté de ça, les arguments méthodologie, semble juste comme une manière de justifier un truck qui à l'air bien injuste.
Refuser les sources collaborative, mais accepter quand c'est commerciale, me semble crée un biais qui a mémé intérêt encyclopédique (en terme de notoriété par article) vont favoriser les sujet commerciaux.
Ceci dit aucune méthode ne seras parfaire, mais si les projets libres sont défavoriser, comparer aux non-libre (ce que tu viens d'expliquer). en avoir conscience, me semble un bonne choses.
[^] # Re: lolpedia
Posté par uso (site web personnel) . En réponse au journal si on ne fait rien, Xonotic va disparaitre de wikipedia FR. Évalué à 7.
la ou c'est pas pareil, c'est que la page item cite clairement Newton Adventure.
et vu que ca pointe vers de la mémoire qui a été free, ça fait un programme bugger.
Ou au moins, quand on lit la page items, on peu se dire 'tien il manque un explications de c'est quoi ce jeu a lesquels fait référence cette page.
[^] # Re: ...
Posté par uso (site web personnel) . En réponse à la dépêche Nouveautés du langage C dans sa prochaine version C23. Évalué à 1.
Sauf que c’était déjà la avec les _Noreturn et autre.
ce que fait la MAJ du langages, c'est de passer a la syntaxe C++, et déprécier la syntaxe C11/17.
[^] # Re: ...
Posté par uso (site web personnel) . En réponse à la dépêche Nouveautés du langage C dans sa prochaine version C23. Évalué à 1. Dernière modification le 20 janvier 2023 à 11:21.
Perso j'aurais bien aimer que __attribute__((cleanup(FUNCTION_PTR))) ou équivalent soie intégrer. (qui étais en discutions il me semble dalleur)
Il est déjà supporter par gcc,clang,icc,tcc.
Il y avais aussi une gestion des erreur différente en proposition, qui apparemment est pas passée.
[^] # Re: nullptr
Posté par uso (site web personnel) . En réponse à la dépêche Nouveautés du langage C dans sa prochaine version C23. Évalué à 3. Dernière modification le 18 janvier 2023 à 11:40.
oui, sauf que dans le cas d'une function variadic:
ex:
/* prend un int, et des pointeurs vers des truck, le dernier pointeur est NULL */
void function(int stuff, …)
appeler comme ca
function(0, 0);
le compilateur est incapable de savoir que le 2éme 0 est un pointeur au moment de l'appelle. (vu que le type n'est pas indiquée dans la signature de la function).
[^] # Re: nullptr
Posté par uso (site web personnel) . En réponse à la dépêche Nouveautés du langage C dans sa prochaine version C23. Évalué à 3.
Oui, ça pose problème avec
#define RemoveItem(idx) _Generic(idx, int: RemoveItem_int, void *: RemoveItem_ptr)(idx)
Après la définition par default de NULL a ((void *)0) fait que le code tombe en marche la plupart du temps en C, mais casse la plupart du temps en C++.
# nullptr
Posté par uso (site web personnel) . En réponse à la dépêche Nouveautés du langage C dans sa prochaine version C23. Évalué à 3. Dernière modification le 18 janvier 2023 à 10:31.
Pour développer un peu.
En C NULL est généralement définit comme ((void *)0)
En C++, comme 0.
(mais ça reste implementation define dans les 2 cas)
La ou ça pose problème, c'est sur les function variadic qui prenne un pointeur qui peuvent/doives étre NULL, comme execl, qui a besoins d'un NULL a la fin.
exemple:
qui était généralement un bug en C++, car NULL étant 0, c'est un int (4 byte en 64bits) convertie en pointeur (8 byte en 64bits).
En C, pas un bug soue glibc, ni musl, mais ça reste implementation define.
plus d'info ici: https://ewontfix.com/11/
# pingouin
Posté par uso (site web personnel) . En réponse au journal L’affaire pingouin. Évalué à 0.
Tout le monde dit pingouin donc pingouin, une langue évolue avec l'emploie qu'en font ces utilisateur.
C'est pas important que y'a 150 ans le mot avant une signification différente, une langue ça évolue.
Utiliser manchot pour parler de pinguin, c'est juste faire preuve de conservatisme déplacer.
Pingouin, Aussi vrais que le Francais est une langue moribonde incapable d'évoluer.
# 66 paquets pour twitter.
Posté par uso (site web personnel) . En réponse au lien Arch - 33 paquets Arch Aur consacrés à Mastodon. Évalué à 1.
https://aur.archlinux.org/packages?O=0&SeB=nd&K=twitter&outdated=&SB=p&SO=d&PP=50&submit=Go
soit 2(deux) fois plus(+) de paquets que sur la version libre(open source), coïncidence, complot de elon musk ?
[^] # Re: Je ne comprends pas trop les arguments des gens contre la vérification de l'âge
Posté par uso (site web personnel) . En réponse au journal Le gouvernement veut rendre le sexe payant sur internet. Évalué à 0. Dernière modification le 28 octobre 2022 à 09:38.
Bah oui, c'est sur que c'est le même genre de personne qui font téléverser un contenue qui peu être vu comme porno(Ex:un blogue art de nus, un site de BD amateur…).
Et ceux qui font des jeux en ligne a but lucrative.
A la limite si la loi touchez que les entreprisse avec un certain revenue, la comparaison tiendrais, mais la, pas vraiment. (edit: ce qui est peu être le cas, j'ai lut le journal, mais pas regarder les liens…)
Avec le beaux soue-entendu "si vous êtes contre la censure du porno, alors vous consommer du porno, et donc vous êtes un dégénérée"
Personnellement, je suis juste trop con pour savoir ou est la limite entre l'art et le porno, donc quand tu dit "on veut protéger les enfants du porno", j’entends "on veut casser leur c****** aux artiste pour leur empêcher de s'exprimer".
Tien la dernier fois que j'ai vu un argument similaire, c'est sur le twitter de Lunduke(maintenant supprimée), ou il expliquait que exposer les enfants aux personnes saints-nus de la gay pride, c'est un crime, qui devrais être interdis.
[^] # Re: Le C a vécu 50 années, et vivra 50 de plus
Posté par uso (site web personnel) . En réponse au lien It's time to stop using C and C++ for new projects, says Microsoft Azure CTO. Évalué à 0. Dernière modification le 25 septembre 2022 à 11:44.
Si tu parle de -fanalyzer, ca a étais ajouté pour gcc 10(2020), et c'est en constante évolution.
Après est-ce que c'est aussi puissant que rust, avec peu, ou aucun, unsafe, je pense pas.
Edit: j'ai relu ton commentaire, et vu que tu parlais de Splint… bon my bad.
[^] # Re: Le C a vécu 50 années, et vivra 50 de plus
Posté par uso (site web personnel) . En réponse au lien It's time to stop using C and C++ for new projects, says Microsoft Azure CTO. Évalué à 5.
https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html
# C'est la 1er fois que je voie ça
Posté par uso (site web personnel) . En réponse au lien It's time to stop using C and C++ for new projects, says Microsoft Azure CTO. Évalué à 4.
Autans ça fait depuis que j'ai commencer le dev, que je voie des gents dire qu'il faut arrêter le C, car tout les 5,6ans y’a une faille de sécurité majeur qui ne pourrais pas arrivé dans un langage qui n'a rien de "unsafe" comme Rust.
A chaque nouvelle fonctionnalité de C++, on entend des gents dire d’arrêter le C, à un tel point que ça ma fait pas aimer le C++, alors que j'aimais bien le langage.
mais c'est l'une des 1er fois que je voie quelqu'un mettre C et C++ dans le même panier. (alors que bon le C++11 et les suivant sont quand même assez safe(au moins autant que GNU C + static analyse)).
Bon bah les dev C++, bienvenue au club des gents qui utilise un langage non grata !
[^] # Re: Moinssez moi
Posté par uso (site web personnel) . En réponse au journal Petites blagounettes de tout poil. Évalué à 1.
quand t'a 2 pages remplie de "regardez ces femme qui tue leur enfant" (soue entendu avorter) et de tweet qui joue sur la panic morals des personnes trans, c'est assez precit oui.
On parla pas d'un tweet perdu maladroit la. c'est carement de l'acharnement.
mais vu qu'il a suprimer, j'en convien que le "croie moi" est trés faible.
Sinon, BLM = Black Live Matter.
[^] # Re: Moinssez moi
Posté par uso (site web personnel) . En réponse au journal Petites blagounettes de tout poil. Évalué à 0.
oui, son compte est supprimer, mais il avais plein de tweet anty-avortement.
des tweet pour se plaindres des personnes trans dans le sport, il a aussi dit blocker "tout les gents qui mettes un sex qui n'est pas le leur".
si tu suivais l'époque ou il étais sur odysée, il c'est extrémiser pendant BLM.
C'est de la spéculation, mais je croie que Gardiner Bryant en parle ici (il dit pas les nom) https://www.youtube.com/watch?v=D_oLX2fTo6s
De plus il participe aussi a ce twitter: https://nitter.it/NerdsOnTheRight?cursor=HBaGwLLR7%2Fry%2BCkAAA%3D%3D
[^] # Re: Moinssez moi
Posté par uso (site web personnel) . En réponse au journal Petites blagounettes de tout poil. Évalué à 2.
https://fr.wikipedia.org/wiki/Racisation
Aussi faut prendre "Racisme" (qui est un mot ultra ambiguë) au sens sociologique, c'est à dire, le racisme qui peu s'observer a l'échel d'une sociétée.
[^] # Re: Moinssez moi
Posté par uso (site web personnel) . En réponse au journal Petites blagounettes de tout poil. Évalué à -1.
Oui.
Oui.