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

printf("blabla");

caelacanthe
caelacanthe
Niveau 10
24 août 2011 à 18:56:04

ah, d'accord. visual studio et tous ces trucs pré-inclus de base... :(

j'étais pris au dépourvu par cette erreur pour le moins... aberrante. forcément, quand les données sont erronées... merci beaucoup. :noel:

Pocolo
Pocolo
Niveau 10
24 août 2011 à 18:58:28

" ah, d'accord. visual studio et tous ces trucs pré-inclus de base... :( "

Trucs pré-inclus? En tout cas sur mon Visual C++ 9 je ne pense pas avoir de trucs pré-inclus.

caelacanthe
caelacanthe
Niveau 10
24 août 2011 à 19:01:50

je crois que tu peux utiliser strlen rien qu'en incluant stdio et stdlib, donc pas les bonnes librairies, ce que je faisais tout le temps.

et aussi les fonctions de windows.h. sans rien inclure! :hap:

Pocolo
Pocolo
Niveau 10
24 août 2011 à 19:09:03

" je crois que tu peux utiliser strlen rien qu'en incluant stdio et stdlib, donc pas les bonnes librairies, ce que je faisais tout le temps. "

Ca m’étonnerait mais bon, admettons.

Et sinon tu parlais d'inclure windows.h pour pouvoir utiliser strlen(), c'est parce que string.h est inclus dans windows.h.

caelacanthe
caelacanthe
Niveau 10
25 août 2011 à 21:17:11

hardcore, je n'arrive plus à faire de l'héritage correct en c++. :(

j'ai une classe A, une classe B qui hérite de A; je créée un objet B que je référence dans un pointeur de type A (polymorphisme m'voyez :hap: ), et je le détruis par un delete.

c'est le destructeur de A qui est appelé. :(

il faudrait que ce soit celui de B, il y a quelque chose de spécial à faire pour ça? l'héritage est déclaré d'une manière classique, classe B: public A{}, A est une classe abstraite, ça peut influer? google n'est pas très concluant sur ça. :(

caelacanthe
caelacanthe
Niveau 10
25 août 2011 à 21:19:01

ah, laissez tomber, suffisait de marquer le constructeur comme virtuel. :rouge:

Pocolo
Pocolo
Niveau 10
25 août 2011 à 21:38:06

Oui il faut toujours déclarer le destructeur comme virtuel dans ces cas-là.

Sinon juste pour info si on a un classe de base A, une classe B qui hérite de A et une classe C qui hérite de B, si on initialise un objet de la classe C c'est la classe de base qui va être allouée en premier et C en dernier.

Les constructeurs sont donc appelés dans l'ordre A -> B -> C, alors que la désallocation et l'appel des destructeurs se fait en sens inverse, C -> B -> A.

caelacanthe
caelacanthe
Niveau 10
25 août 2011 à 22:04:21

merci pour ces explications. je connaissais ce comportement pour les constructeurs, ayant fait pas mal de c# ces derniers temps, mais je n'arrivais pas à avoir le même pour les destructeurs, faute de pratique. :(

godrik
godrik
Niveau 30
25 août 2011 à 23:19:01

caelacanthe, je suis sur que c'est une typo dans ton message. Mais on ne met JAMAIS un constructeur virtuel. C'est le destructeur qui est virtuel pas le constructeur.

La vtable (qui sert a resoudre les problemes d'appel de fonction virtuelle) est remplit pendant la construction, donc si le constructeur est virtuel, la construction va mal se passe. Pour la meme raison, on n'appel pas de fonction virtuelle pendant la construction parceque la resolution du polymorphisme va mal se passer. Par contre, on peut appeller une fonction virtuelle explicitement sans passer par le polymorphisme avec nomdelaclass::nomdelafonction.

caelacanthe
caelacanthe
Niveau 10
25 août 2011 à 23:27:09
  1. godrik Voir le profil de godrik
  2. Posté le 25 août 2011 à 23:19:01 Avertir un administrateur
  3. caelacanthe, je suis sur que c'est une typo dans ton message. Mais on ne met JAMAIS un constructeur virtuel. C'est le destructeur qui est virtuel pas le constructeur.

:d) c'était effectivement une typo, bien vu. :peur:

"Pour la meme raison, on n'appel pas de fonction virtuelle pendant la construction parceque la resolution du polymorphisme va mal se passer."

:d) ça par contre, je ne savais pas, merci de l'info. :oui:

Paulop
Paulop
Niveau 12
30 août 2011 à 19:05:36

En ce moment, quand j'ai envie le soir, je fais un petit moteur graphique. Je compte y coller un interpreteur lua et de quoi étendre les fonctionnalités (soit dynamiquement, soit par librairie).

Si je vais au bout je pourrai faire un poratage de NGCK en lua.

Pour l'instant j'ai vaguement de quoi afficher une image je suis en train de faire le loader de fichiers OBJ, pis je vais faire de quoi dessiner des formes.

caelacanthe
caelacanthe
Niveau 10
30 août 2011 à 19:33:16

ce serait un moteur graphique en 3d?

je me demandais ça pour le chargement des fichier obj.

car NGCK est en 2d, à la base. :doute:

Paulop
Paulop
Niveau 12
30 août 2011 à 19:59:48

2D ou 3D, mon idée ce serait de faire des petits modules qui permettent de binder Lua sur des fonctions C, et donc étendre les capacités globale de l'engin. Une des modules serait genre NGCK, avec de quoi initialiser le mode NGCK, les renderer NGCK, etc...

Paulop
Paulop
Niveau 12
30 août 2011 à 20:05:16

Le Loader OBJ c'est pour faire un peu de built-in en fait.

godrik
godrik
Niveau 30
01 septembre 2011 à 15:52:55

NdM: trois message supprimes un de spam, un de caelacanteh qui repondai au spam et un d'un troisieme gars qui repondait a caelacanthe.

Pokemon[V]Jaune
Pokemon[V]Jaune
Niveau 10
01 septembre 2011 à 18:58:58

Bonjour je voulais savoir si il existe des exercices de correction de codes en HTML :) Merci

yad-de-lbp2
yad-de-lbp2
Niveau 4
01 septembre 2011 à 19:01:28

LE 3 eme gars, ct pas matchite par hasard??

godrik
godrik
Niveau 30
01 septembre 2011 à 19:08:08

je crois que oui

caelacanthe
caelacanthe
Niveau 10
04 septembre 2011 à 23:43:42

bonsoir!

je me posais une question... est-ce qu'une telle ligne de code, en C:

var1=var2/var3;

est optimisable?

car l'opérateur de division ne fait pas forcément les choses rapidement, comparé par exemple au décalage de bits qui fait pareil, même s'il ne marche qu'avec les puissances de deux. d'où ma question, existe t-il des algorithmes qui feraient l'opération sus-citée, mais plus rapidement? :(

caelacanthe
caelacanthe
Niveau 10
04 septembre 2011 à 23:46:51

(var2 et var3 sont, je le précise, des valeurs qu'il n'est pas possible de connaitre à l'avance. :oui: )

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