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");

Kichon
Kichon
Niveau 6
28 juin 2012 à 06:28:56

Ok, merci. :ok:

angivare
angivare
Niveau 10
28 juin 2012 à 16:38:16

Bon, je viens encore solliciter votre aide parce que là je vois encore moins qu'avant.. j'ai:

client::client(TCPSOCKET *nSocket, QString *nPseudo)
{
socket=nSocket;
pseudo=nPseudo; //socket et pseudo étant des attributs de type TCPSOCKET *
QObject::connect(socket,SIGNAL(readyRead()),this,S
LOT(dataAv()));

QObject::connect(socket,SIGNAL(disconnected()),thi
s,SLOT(discon()));

}

Mais quand j'essaie de compiler ça ça me dit "QObject::connect: Cannot connect (null)::readyRead() to client::dataAv()
QObject::connect: Cannot connect (null)::disconnected() to client::discon()"

Donc j'imagine que y'a un problème avec l'import de nSocket mais je vois pas quoi.. :question:

vive_cod4
vive_cod4
Niveau 9
03 juillet 2012 à 16:15:44

Yep

J'aimerais savoir si qqun pouvait "m'expliquer" l'utilité des pointeurs de fonctions à travers un exemple simple/utile. Merci :=)

caelacanthe
caelacanthe
Niveau 10
03 juillet 2012 à 16:20:16

on peut s'en servir pour remplacer un switch. :(

moins de jumps, donc moins de cache miss, corrigez-moi si je me trompe. :oui:

caelacanthe
caelacanthe
Niveau 10
03 juillet 2012 à 16:21:04

oh, sinon, peut-être éviter de faire de la surcharge de fonctions au travers de l'héritage. là encore, c'est une question d'optimisation.

vive_cod4
vive_cod4
Niveau 9
03 juillet 2012 à 16:26:02

Supposons que ta réponse est la bonne, j'en conclus que ce n'est pas "utile" en dehors de l'optimisation ?

caelacanthe
caelacanthe
Niveau 10
03 juillet 2012 à 16:44:19

presque personne ne les utilise aujourd'hui, j'imagine que oui. :(

PocoIo
PocoIo
Niveau 10
03 juillet 2012 à 17:08:48

C'est très utile pour les bibliothèques logicielles, pour les callbacks.

Paulop
Paulop
Niveau 12
03 juillet 2012 à 17:48:05

La principale utilisation c'est effectivement pour faire des callbacks.

godrik
godrik
Niveau 30
03 juillet 2012 à 18:13:36

Toute abstractino de code en C se fait par des pointeurs de fonctions. Tout ce que tu ferais dans un langage objet avec des appels de fonction virtuelle sont typiquement fait en C avec des pointeurs de fonctions. (D'ailleurs c'est souvent comme cela que le compilateur l'implemente.)

Dans un de mes codes, j'ai besoin de rendre parametrique la fonction de creation d'un objet. J'utilise une pointeur de fonction pour changer cette fonction. Un psychopate de l'oriente objet aurait degaine un FactoryPattern. Mais perso l'objet, ca me casse les machins.

4223161584
4223161584
Niveau 10
03 juillet 2012 à 20:28:42

Un programmeur C++ aurait utilisé un foncteur.

godrik
godrik
Niveau 30
03 juillet 2012 à 21:39:50

Non, un programmeur C++ comprends qu'il n'est pas enfermer dans un modele de programamtion unique et fait ce qu'il lui chante. :)

Silvermo
Silvermo
Niveau 26
03 juillet 2012 à 22:21:43

+1

Pseudo supprimé
Pseudo supprimé 04 juillet 2012 à 10:38:58

un set d'animations html5 fait avec un système de palettes comme a la veille époque.

http://www.effectgames.cocom/demos/canvascycle/?sound=1

les animations "Mirror Pond - Morning" et "Rough Seas - Day" :ouch:

4223161584
4223161584
Niveau 10
04 juillet 2012 à 11:47:54

A mes yeux, les foncteurs sont une manière plus moderne de faire ce genre de chose. Ils s'interfacent bien avec la bibliothèque standard (les pointeurs sur fonctions aussi, mais c'est moins élégant :p). Et il faut dire que grâce au fonction lambda du C++11, la déclaration de foncteur n'a jamais été plus facile.

Après chacun est libre de faire ce qui lui chante. Je veux juste défendre cette nouvelle technologie qui forme un tout cohérent avec le nouveau standard du C++, la bibliothèque standard et même boost.

caelacanthe
caelacanthe
Niveau 10
04 juillet 2012 à 12:59:47
  1. elite_2009 Voir le profil de elite_2009
  2. Posté le 4 juillet 2012 à 10:38:58 Avertir un administrateur
  3. un set d'animations html5 fait avec un système de palettes comme a la veille époque.

http://www.effectgames.cocom/demos/canvascycle/?sound=1

les animations "Mirror Pond - Morning" et "Rough Seas - Day" :ouch:

:d) hé, c'est super-beau, même avec du dithering ordonné. pourquoi ils ne font plus que des jeux grisâtres? :peur:

godrik
godrik
Niveau 30
04 juillet 2012 à 17:39:41

4223161584, je ne dis pas que foncteur est un mauvais choix dans l'absolu. Dans mon contexte applicatif, un pointeur de fonction fait aussi bien l'affaire. Parceque je n'ai pas besoin d'integrer dans des conteneurs standard. Du coup, pourquoi aller se faire chier a ajouter des foncteurs pour faire beau.

"Et il faut dire que grâce au fonction lambda du C++11, la déclaration de foncteur n'a jamais été plus facile."

Developper une lib qui depend de C++11 c'est du suicide. Beaucoup de compilateur ne supporte pas encore ce standard proprement. (Le support est incomplet dans gcc, et assez creux dans icc.)

4223161584
4223161584
Niveau 10
04 juillet 2012 à 18:51:42

Je suis entièrement d'accord avec toi. Je n'ai presque jamais utilisé de foncteur avant le C++11, les pointeurs sur fonction étant l'option la plus rapide à implémenter.

Par contre, le support du C++11 est déjà bien avancé sur GCC et clang en tout cas. Je n'utiliserais pas le C++11 en production pour de gros projets, c'est vrai. Mais pour des petits projets, je l'utilise et ça déchire.

godrik
godrik
Niveau 30
04 juillet 2012 à 20:46:24

J'utilise aussi les fonction de base auto, la difference de >> pour les template. Mais les trucs un peu plus complique, comme le suport des threads ou les lambda, ca a un mauvais support globalement. Tout ce que je fasi est typiquement compile pour des architectures bizarre: bluegene, cray, MIC, GPU. J'ai besoin d'un montant raisonnable de compatibilite.

Paulop
Paulop
Niveau 12
08 juillet 2012 à 16:26:30

Je zieutais le code de SFML, et dans ce code : https://github.com/LaurentGomila/SFML/blob/master/include/SFML/System/Time.hpp je vois qu'il a surchargé les opérateurs en dehors de la classe, quel serait la raison de faire ça ?

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