CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Typedef en C++

Zoooska
Zoooska
Niveau 7
07 octobre 2005 à 22:26:02

Bonjour ! je suis présentement en train de suivre le tuto de JYY et je suis arrivé au tuto sur les typedef.
(http://perso.numericable.fr/~fvirtman/info/tuto/1
_12_typedef.cpp) Cependant, je suis pas mal embrouillé et je me demandais si c´était vraiment utile ou si je pouvait bien vivre sans. Surtout que plus bas dans le tuto, c´est écrit : ça lui évite de taper "struct" a chaque fois. Moi sa ne gene pas alors puis-je passer par dessus les typedef ? Merci d´avance !

lag-it
lag-it
Niveau 10
07 octobre 2005 à 23:25:56

Typedef est un concept très intéressant du langage. Mis à part le côté hérité du C qui te permet de créer des alias de types de données (utilie pour condenser des pointeurs de structure costant ou autre trucs très long en un simple identificateur), il te permet également de créer des types de données génériques, ce qui est extrêùent intéressant.
Imagine par exmple que tu souhaites créer une classe de tableau semblable à vector de la stl, ie une classe de tableau avec des méthodes permettant le controle du contenu et diverses opérations, grâcxe à template, tu peux le faire indépendement du type de donnée, càd que tu peux créer une classe qui fonctionnera tout aussi bien avec des entier qu´avec des flottants voire des instances de classes. C´est très puissant.
Plutôt que de redéfinir toute ta classe pour chaque structure que tu veux utiliser avec ton module, tu laisses le compilateur générer lui même les versions approprié.
Le gain de temps est intéressant :)
Et puis cela permet d´autres styles de programmations avancés, comme la meta programmation qui permet de booster certaines formules mathématiques.

Alors oui tu peux vivre sans. Mais tu peux aussi beaucoup mieux vivre avec :)
Ca n´est pas un concept trop difficile en outre, donc n´hésite pas à t´attarder dessus...

lag-it
lag-it
Niveau 10
07 octobre 2005 à 23:41:29

Oula, je m´excuse mais je suis tellement crevé que j´ai assimilé template et typedef.
Oublie ce que j´ai dit :-d

dnob700
dnob700
Niveau 10
08 octobre 2005 à 00:26:27

le typedef était très utile en C quand il fallait déclarer des instances de classe ou de structure avec le mots clef struct ou class (donc ça faisait perdre du temps)...

MAis en C++ c´est vraiment juste une petite commodité.

en gros il suffit de retenir que :

typedef type a changer nouveau_nom;
à partir de là, nouveau_nom est exactement la même chose que le "type à changer".

Exemple :

typedef unsigned short int[20] usint20;
usint20 truc;
truc sera un tableau de 20 cases de unsigned short int.

Mais c´est pas très utiles. C´est vrai que lorsque tu te mets à faire des pointeurs sur des fonctions les types peuvent commencer à devenir très très long, et le typedef se justifie, mais c´est pas très important. (C´est pas très compliqué non plus).

Zoooska
Zoooska
Niveau 7
08 octobre 2005 à 01:10:10

merci !

Zoooska
Zoooska
Niveau 7
08 octobre 2005 à 01:45:15

Et j´ai aussi d´autres questions et problèmes :

Je vien d´apprendre comment enregistrer un mot dans une varible string. Y a t-il une possibilité de stocker une phrase sans faire de char mot[30] et de cin.getline(mot,30) ?

Et aussi, j´ai un problème pour écrire en couleur avec conio.h. J´utilise Dev C++ et même en recopiant le code du tuto, il ne veut pas se compiler. Il me met une erreur sur la ligne : gotoxy(x,y); et pourtant je suis sur de l´avoir écris correctement. Est-ce parce que cette librairie n´est pas dans dev c++ et que je dois l´ajoutée ?

dnob700
dnob700
Niveau 10
08 octobre 2005 à 13:38:39

oui, cette bibliotheque (library c´est de l´anglais) ne fait pas partie de Dev C++ (c´est c que le tuto dit par obsolète).

A la place tu peut utiliser entre autre possibilité ma bibliothèque ( http://jvstats.free.fr/temp/advio.zip ) qui permet de faire la même chose et très très simplement, mais elle en sera pas compatible avec le tuto de jyy (entre autre ma lib permet de lire sans problème une ligne entière).

sinon pour lire une ligne tu dois pouvoir aussi utiliser des véritable variable string (et non pas juste des char*) :
string phrases;
Mais je crois que tu doit tout de même utiliser cin.getline;

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment