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

J´aide les personne en C/C++

Nosk
Nosk
Niveau 5
15 février 2005 à 23:10:16

Problème solved ^^ Un clic malencontreux m´avait fait décocher, à l´ainsu de mon plein gré, " Multithreaded DLL" ^^ Désolé ! :)

dnob700
dnob700
Niveau 10
15 février 2005 à 23:41:44

question bête : comment cin fait-il pour avoir l´adresse des trucs qu´on lui passe :

quand je fait :
double truc;
cin > > truc;

avec les char[] ya pas de problème, mais avec les autre type je vois pas. surtout que je pensais que si je faisait :
advio& operator>>(double &)
c´est à ça que servait le & mais apparement non, donc je sais pas trop comment faire.

si quelqu´un sait, je serais content de l´apprendre.

merci d´avance.

sonic66
sonic66
Niveau 10
15 février 2005 à 23:52:33

int puiss(int a,int b)
{
int i;
int r=1;
for(i=0;i<b;i++)
{
r*=a;
}
return r;
}

ca vient de la lecons 9 du site de jyy ( apprentissage c++)
je me demandais a quoi cela ser d´ecrire
( int a,int b)?

dnob700
dnob700
Niveau 10
16 février 2005 à 00:12:26

ce sont els deux paramètres de la fonction, c´est là qu´on lui donne des valeurs dont on veut calculer la puissance de l´une.

pour le cin, ça marche, j´avais juste un problème dans le passage de l´argument.

par contre j´ai un autre problème, je voulais créer un objet générique console pour que l´utilisateur n´ai pas besoin de créer un objet pour l´utiliser, il nclut juste le header de ma lib et il fait :
console < < " bonjour";
mais bien sur, dans un projet avec plusieurs fichier j´ai un problème au link puice qu´il redéfinit l´objet quand il réinclut le fichier d´en tête.

j´ai cherché dans les iostream et consort comment est ce que cin et cout sont déclaré mais j´ai pas trouvé.
là encore merci bcp d´avance pour votre aide.

LGV
LGV
Niveau 28
16 février 2005 à 00:42:11

dnob700 : fais une forward declaration de type " extern" dans ton header, et la déclaration réelle de tes données dans un . cpp.
Du coup, tous les fichiers qui incluent ton . h savent que " quelque part" existe ton truc " console", et ça sera résolu au linkage.

Au passage, dans un monde parfait se voulant objet, on aurait tendance à faire un singleton pour ton bidule.

JeanYvesYves
JeanYvesYves
Niveau 10
16 février 2005 à 09:48:51

Dnob > " comment cin fait-il pour avoir l´adresse des trucs qu´on lui passe"

c´est une histoire de fonctions dites, de L-Value, typique du C++ :

exemple :

class truc
{
private :
int a;
public;
/ /...
int get_a();
};

int truc::get_a()
{
return a;
}

Ceci déclaré, je fais, dans un main :

int v = get_a();

jusque la, tout va bien !
Mais maintenant, disons que mon but est décrire dans a.
Solution C : une méthode
void set_a(int);

Solution C++, utilisant la L-Value :

je remplace :

int& get_a();

avec toujours la meme implémentation, j´ai juste ajouté le &.

et la, j´ai le droit d´écrire, dans le main :

get_a() = 5;

et ça copie le a ! !!

En effet, ça te renvoie une référence vers a ( implicitement un pointeur finalement ! ), et non pas une copie, du coup, si tu la modifie, ça modifie celui de a.
Alors tu vas me dire, c´est dangereux, comment faire si je veux que mon a ne soit qu´en lecture, mais que je veux une référence quand meme ?
-->
const int& get_a();

et pour le cin, c´est pareil, le prototype doit etre, me semble t il :

template < class T>
istream& operator>>(const T&)

Ce qui fait que ce qui est est modifié modifie ta variable du main aussi :)

Les L-Value fonctions permettent donc de faire :

fonction() = variable;

L-Value signifie " Left Value" car on les met a gauche du signe = :)

Rikkuman4
Rikkuman4
Niveau 10
16 février 2005 à 10:04:33

jour, ce matin :-)

j´aimerais savoir comment mettre les accents, comme il ne fonctionne pas sous C++ ^_^

merci :)

JeanYvesYves
JeanYvesYves
Niveau 10
16 février 2005 à 10:09:49

faut faire les équivalences des caracteres ASCII haut niveau C et C++, tiens, si j´ai le temps, je ferai cela :)

JeanYvesYves
JeanYvesYves
Niveau 10
16 février 2005 à 10:10:20

" haut niveau", n´est pas le terme approprié, je voulais dire au dela des caracteres standard.

Rikkuman4
Rikkuman4
Niveau 10
16 février 2005 à 10:10:28

ok pas de probleme de tout façon je ne suis pas présser !

Rikkuman4
Rikkuman4
Niveau 10
16 février 2005 à 10:11:29

nan mais j´ai compris ^_^

JeanYvesYves
JeanYvesYves
Niveau 10
16 février 2005 à 10:15:20

je ferai une fonction :

char* accentdos(char*);

qui te permettra de faire :

cout < < accentdos("ça devrait être bon") < < endl;
ou
printf(accentdos("ça devrait être bon\n"));

  • faut que je fasse gaffe a la mémoire par contre, mais j´ai mon idée
Rikkuman4
Rikkuman4
Niveau 10
16 février 2005 à 10:18:57

ok :), je verais sur tes cours plus tard alors :)

sonic66
sonic66
Niveau 10
16 février 2005 à 12:26:14

e en fait pour mon probleme , int a et int b sont ecris dans les parentese pour dire a lordi que cette fonction sera destiné a ces 2 variables?

Ptival
Ptival
Niveau 10
16 février 2005 à 13:06:26

Non ça veut dire que la fonction prend comme argument deux variables contenant un entier, et qu´elle utilisera la valeur de la première sous le nom ( dans une variable locale à la fonction, et pas celle de départ) a et b.

Après, si tu veux que la variable modifie les variables dont elle va se servir, reporte toi à des cours sur les pointeurs...Mais vu que tu n´as pas encore compris la notion d´argument de fonction, repars déjà sur le chapitre des fonctions.

jejej
jejej
Niveau 9
16 février 2005 à 13:20:04

MORE EFFECTIVE C++ de je sais plus trop qui :

est ce que quelqu´un a lut ce livre ?
parceque , j´ai l´impression que dans le monde de
la prog c++ , il y a ceux qui l´ont lu , et ceux qui l´ont pas lu , et qu´il est considéré ( j´avais lu l´interview d´un drh ) comme une " référence" , pour juger de la qualité d´un programmeur . ..

Alors j´aurais voulu savoir ce qu´apprenait le livre , si c´était vraiment utile , concret , et surtout à quel niveau pensez vous qu´il faille le lire ?

je sais que la notion de " niveau" en c++ est subjective , vu que personne n´apprend les mêmes choses à la même vitesse , mais bon . .. avoir lu quelques bouquins sur le c++ ( disons le c++ pour les nuls et les tuto des C.Casteyde sur le net ) est-ce suffisant ?

merci pour votre avis :)

LGV
LGV
Niveau 28
16 février 2005 à 14:01:31

c´est un EXCELLENT livre ! normal que ce soit une reference ( Scott Mayers au passage, l´auteur). Je le recommande fortement, mais seulement a ceux ayant deja une bonne comprehension du langage et des concepts du C++.
Il est plein de petites astuces sur des finesses, ou de conseils pour aborder certains problemes bien specifiques ; bref des " outils" qui servent au quotidien pour ameliorer sa facon de coder.

JeanYvesYves
JeanYvesYves
Niveau 10
16 février 2005 à 14:25:01

jamais lu pour le moment . . :snif:

JeanYvesYves
JeanYvesYves
Niveau 10
16 février 2005 à 15:30:05

Rikkuman4 > j´ai fini la fonction pour les accents, regarde donc le nouveau topic :)

jejej
jejej
Niveau 9
16 février 2005 à 15:35:06

C´est sympa ca , JYY , je crois que ca embete tout le monde en fait :)

Sinon , pour en revenir aux livres , j´ai commandé sur amazon ( dailleurs , c´est d´un leeeent à venir ) un bouquin appelé " data structures for game programmers " de Ron Perton , mais j´avoue que je l´ai commandé surtout parcequ´il propose des exemples de jeu en c++/SDL ,
parceque en fait , la seule chose que je connais sur les Datas structures , c´est que ca signifie quelque chose comme " structure de données " , mais apres ca 0o . ..

Bon ( apres l´avoir commande tant qu´a faire , j´ai essaye de me documenter un peu dessus ) , sur gamedev.net ils le trouvent bien , mais j´ai toujours pas compris ce qu´il y avait dedans . ..

En plus , le truc fait 1.000 pages je crois , et il est en Anglais . .. Est-ce que quelqu´un la lut , parceque je commence à f34r . ..

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