#751 Le 13/10/2011, à 23:30
- Elzen
Re : /* Topic des codeurs [6] */
Bah je n'connais pas trop C++, donc j'y vais totalement au pifomètre, mais au moins t'auras une réponse en te réveillant
– Tu as vérifié que l'itérateur n'avait pas une propriété « pointe sur quelque chose » à tester ?
– Tu n'peux pas juste renvoyer NULL ?
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#752 Le 13/10/2011, à 23:30
- tshirtman
Re : /* Topic des codeurs [6] */
Je ne vois pas ou est le mal a dire "c'est fini" quand y'a rien dans la liste.
Hors ligne
#753 Le 14/10/2011, à 00:45
- kamui57
Re : /* Topic des codeurs [6] */
Avant de chercher trop loin, regarde les permissions de /home/toi.
Normalement, cela ne devrait pas poser de problèmes que les fichiers n'appartiennent pas à l'utilisateur http (ou apache chez toi) mais il faut que l'user apache puisse venir lire dans ton public_html.Mais si c'est pour mettre un dokuwiki et toussa, pourquoi ne pas le faire proprement avec les virtual hosts?
Et si Apache c'est trop compliqué, il y toujours nginx.
Merci, j'ai posté un sujet sur le forum d'arch, j'attends un peu les réponses.
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console
Hors ligne
#754 Le 14/10/2011, à 05:45
- grim7reaper
Re : /* Topic des codeurs [6] */
Mais si on n’en trouve pas, je renvoie attaquants.end() ?
Yep, c’est ce que font les algos de la bibliothèque standard.
Genre std::find renvoie end quand il trouve rien (en C on aurait plutôt renvoyé NULL effectivement vu qu’on a pas le concept d’itérateur).
Ça ne me plaîs pas trop, il existe pas, comme pour les pointeurs, un itérateur null qui dit « je pointe sur rien » ?
Non, car un itérateur n’est pas un pointeur (à une exception près, et l’itérateur de std::vector en fait partie) : c’est un concept un peu plus large.
En C++, tu manipules des itérateurs point barre. Mais en fait, ce que tu ne vois pas c’est qu’il y a différent type d’itérateurs :
- Trivial Iterator ;
- Output Iterator ;
- Input Iterator (qui implémente TrivialIterator) ;
- Forward Iterator (qui implémente InputIterator et y ajoute ++i et i++) ;
- Bidirectional Iterator (qui implémente l’interface ForwardIterator et y ajoute --it et it--) ;
- Random Access Iterator (qui implémente l’interface BidirectionalIterator, LessThanComparable et qui ajoute les opération +=, +, -, -= et []).
Le plus complet c’est le Random Access Iterator (celui qui est utilisé par std::vector) et, lui, il émule (et pour le coup, encapsule) bien un pointeur. Mais les autres peuvent pas s’assimiler à un pointeur de par leur comportement (genre il se déplace que dans un sens, ou on peut pas faire d’arithmétique avec, etc).
De toute façon, je vois pas ce qu’on pouvait faire d’autres : un itérateur est lié à un conteneur donc il pointe toujours dessus (ou un peu après pour end). Le faire pointer (et là encore, quand tu joue avec un itérateur de flux comment tu le fais « pointer » sur rien ?) n’importe où en mémoire pour dire qu’il est invalide ça casse un peu le lien avec le conteneur (alors qu’avec end ça reste OK).
Bon sinon, au sujet des itérateurs je te conseille de lire le chapitre 24 de la norme (bon ça reste assez technique et pas forcément digeste, disons que c’est les spec’ à respecter si tu veux coder ta bibliothèque standard pour le C++ ^^') ou ça (ça sera peut-être un poil plus digeste).
D’ailleurs, autant que possible je conseille de consulter SGI (mon lien précédent) plutôt que cplusplus.com qui contient (contenais ?) des erreurs (et pas des moindre, mais fait chier je retrouve plus le lien (je sais juste que c’était sur stackoverflow)).
Merci, n’codez pas trop tard .
Bah y a pas de risque vu que j’étais couché bien avant toi hier
Dernière modification par grim7reaper (Le 14/10/2011, à 10:44)
Hors ligne
#755 Le 14/10/2011, à 09:56
- helly
Re : /* Topic des codeurs [6] */
Bha snif…
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#756 Le 14/10/2011, à 10:07
- Keldath
Re : /* Topic des codeurs [6] */
@helly: Et est-ce que l'utilisation de boost::optional ne serait pas adapté ?
-> http://apais.developpez.com/tutoriels/c … /optional/
Deux idées maîtresses justifient Boost.Optional.
La première est liée au besoin d'avoir des variables à signification particulière représentant l'idée de valeur invalide. En formalisant le concept de valeur indéterminée, Boost.Optional permet de gérer les valeurs invalides sans avoir à étendre le champ des valeurs que peut prendre une donnée.
[...]
Je n'ai pas fait de C++ depuis longtemps, je peux me tromper.
Hors ligne
#757 Le 14/10/2011, à 10:09
- helly
Re : /* Topic des codeurs [6] */
Non, je reste avec la STL.
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#758 Le 14/10/2011, à 10:32
- tshirtman
Re : /* Topic des codeurs [6] */
Pour tout ce que j'ai entendu, à moins d'être un maniaque de la complexité dans le design, réfléchir 2^n fois avant d'utiliser une lib boost dans son code.
mais bon, si on me demande mon avis, c'est vrai pour tout C++
Hors ligne
#759 Le 14/10/2011, à 11:09
- grim7reaper
Re : /* Topic des codeurs [6] */
Pour tout ce que j'ai entendu, à moins d'être un maniaque de la complexité dans le design, réfléchir 2^n fois avant d'utiliser une lib boost dans son code.
Boarf, la mécanique interne de Boost ouais c’est complexe (du C++ de haute voltige), mais l’usage en lui-même non.
Après, c’est vrai que pour juste utiliser Boost.Optional c’est peut-être overkill.
Hors ligne
#760 Le 14/10/2011, à 11:21
- helly
Re : /* Topic des codeurs [6] */
Bha surtout utiliser boost juste pour trouver un alias à un truc qui la STL fait très bien mais que personnellement je trouve pas très beau, ça vaut pas le coup.
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#761 Le 15/10/2011, à 20:04
- helly
Re : /* Topic des codeurs [6] */
Hey, pour les coordonnées d’un points (dans une classe), c’est plus jôli que je fasse
uint x, y;
ou
std::pair<uint,uint>centre
?
J’aurai une préférence pour la seconde, ça lie « mieux » les deux coordonées, mais au codage, ça sera plus lourd (point de vue écriture) à manipuler.
Z’en pensez quoi ?
Dernière modification par helly (Le 15/10/2011, à 20:06)
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#762 Le 15/10/2011, à 20:06
- Pylades
Re : /* Topic des codeurs [6] */
Sans rien connaître au C++, je trouve quand même la deuxième forme plus jolie.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#763 Le 15/10/2011, à 20:07
- helly
Re : /* Topic des codeurs [6] */
Oui, je pense que je vais faire ça, j’veux quand même encore voir l’avis de grim…
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#764 Le 15/10/2011, à 20:10
- grim7reaper
Re : /* Topic des codeurs [6] */
Perso je ferai la forme 2, mais c’est plus une question de préférence personelle (j’ai pas vraiment d’arguments objectifs à avancer).
Après, si tu veux des noms explicites (x, y par exemple) t’auras qu’à nommer les accesseurs en conséquence s’il en faut.
Hors ligne
#765 Le 15/10/2011, à 20:39
- helly
Re : /* Topic des codeurs [6] */
Okay capt’ain, nous sommes donc du même avis.
S’cool, ma motivation revient, ma flamme programmatrice se ravive ! \o/
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#766 Le 15/10/2011, à 20:47
- tshirtman
Re : /* Topic des codeurs [6] */
oO, je comprendrais l'utilité d'un conteneur comme pair, pour en faire un vecteur, par exemple, mais pour deux variables, beuh, typiquement un exemple ou la volonté de faire du beau design complique tout à fait inutilement le code, et le rends moins lisible.
Hors ligne
#767 Le 15/10/2011, à 20:48
- helly
Re : /* Topic des codeurs [6] */
Zut, y’a pas moyen de déclarer le prototype d’une méthode inline dans le fichier.h et de la définir dans le fichier.c++ ?!
Okay, le principe d’être inline, c’est que la méthode soit inline, mais de la déclaration dans le fichier.h, saymoche.
(’tain, /me est aussi maniaque IRL que dans le code )
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#768 Le 15/10/2011, à 20:51
- helly
Re : /* Topic des codeurs [6] */
oO, je comprendrais l'utilité d'un conteneur comme pair, pour en faire un vecteur, par exemple, mais pour deux variables, beuh, typiquement un exemple ou la volonté de faire du beau design complique tout à fait inutilement le code, et le rends moins lisible.
Bhé je trouve ça plus logique c’est tout.
Les deux variables sont plus liées, et de toute façon, dans le code, généralement quand on a besoin d’avoir accès à X, on a aussi besoin de Y donc bon…
Dernière modification par helly (Le 15/10/2011, à 20:52)
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#769 Le 15/10/2011, à 21:16
- grim7reaper
Re : /* Topic des codeurs [6] */
Zut, y’a pas moyen de déclarer le prototype d’une méthode inline dans le fichier.h et de la définir dans le fichier.c++ ?!
Bah non, sinon ça ne fonctionne pas.
Pour que la méthode soit inliné il faut que le compilo connaisse le code à chaque endroit où il doit faire le remplacement. Comment il peut faire ?
Le seul truc que tu inclues pour utiliser la méthode c’est le fichier d’en-tête, donc il faut que le code soit dans le fichier d’en-tête. Si tu as juste mis le prototype, le compilo va se retrouver comme un con s’il doit inliner un des appels en dehors de l’unité de traduction où ta fonction est définie.
Dans l’absolu, mettre le code dans le source pourrait fonctionner avec les compilo qui mettent en œuvre la LTO (Link-Time Optimisation), mais ça c’est un truc de compilo (et c’est relativement récent en plus) pas un truc définit dans la norme du C++.
Dernière modification par grim7reaper (Le 15/10/2011, à 21:17)
Hors ligne
#770 Le 16/10/2011, à 10:32
- helly
Re : /* Topic des codeurs [6] */
Les cons !
Ils ont supprimé la page S.O.L.I.D de wiki, j’en avais justement besoin . (http://fr.wikipedia.org/wiki/S.O.L.I.D. … _S.O.L.I.D)
Excuse grim, tu peux me reciter les composantes ?
Après, je m’occupe de stfw pour les détails.
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#771 Le 16/10/2011, à 10:38
- helly
Re : /* Topic des codeurs [6] */
Aut chose (je post ici vu qu’il y a une maajorité d’archeux) je viens de me rendre compte que je peux pas lancer beep si je suis pas root !
Sinon il me dit
Could not open /dev/tty0 or /dev/vc/0 for writing
open: No such file or directory
Une idée du problème ?
(en effet, /dev/vc/0 n’existe pas).
Autre chose dans le même filon, maintenant le raccourcis /dev/dvd n’est plus créé !
J’suis obligé de le créer moi même (mais donc supprimé à chaque démarrage) ou simplement passer par /dev/sr0.
C’est pas dur en soit, mais c’est pas normal que ça fasse ça !
Pour ça aussi j’suis le seul ?
edit : pour beep, c’est règlé.
Plus ça va, plus je me dis qu’on vente ubuntu/debian pour sa doc, mais objectivement, je trouve la doc de arch bien plus fournie !
Tout ce qui lui manque en fait, c’est une communauté plus active et un installateur un peu moins moche.
Dernière modification par helly (Le 16/10/2011, à 10:54)
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#772 Le 16/10/2011, à 10:56
- grim7reaper
Re : /* Topic des codeurs [6] */
(http://fr.wikipedia.org/wiki/S.O.L.I.D. … _S.O.L.I.D)
Excuse grim, tu peux me reciter les composantes ?
Et plop (Wikipédia anglophone )
Autre chose dans le même filon, maintenant le raccourcis /dev/dvd n’est plus créé !
Ho mais ça fait une paie ça, depuis le moi de mai au moins (donc udev 170-1) !
J’suis obligé de le créer moi même (mais donc supprimé à chaque démarrage)
Crade ça, si tu tiens vraiment à ces raccourci faut faire une règle udev pour les créer au démarrage.
ou simplement passer par /dev/sr0.
Perso c’est ce que je fais.
C’est pas dur en soit, mais c’est pas normal que ça fasse ça !
Je suis pourtant sûr d’en avoir parlé ici mais je ne retrouve plus mon post >_<
Mais oui, c’est normal. C’est depuis une certaine mise à jour d’udev.
D’ailleurs pacman avait dit
Arch specific cd symlinks are now no longer created.
cd and net persistent rules will no longer be autogenerated,
En fait udev n’a jamais supporté ces raccourcis bidons, c’est les mainteneurs de distrib qui les ajoutait.
Suite à une mise à jour d’udev, les mainteneurs d’Arch on décidé de proprer le truc (vu que le but c’est d’être le plus KISS et Vanilla possible) et ils ont virés les règles de créations de ces trucs.
This is not a bug. This is the developers cleansing the udev package of every last bastardization we've tacked onto it in the last few years (and there's more to come). Upstream does not provide this functionality, so therefore, Arch should not either. If you want the functionality yourself, add it. Rolling back to udev 168 is a poor solution.
Perso je préfère comme ça et j’ai même pas essayé de les recréer.
Pour ça aussi j’suis le seul ?
Bah du coup non, c’est commun à tous les archers normalement.
Si tu tiens vraiment à ces raccourcis, je crois qu’ici ils ont trouvé comment les recréer.
Dernière modification par grim7reaper (Le 16/10/2011, à 10:57)
Hors ligne
#773 Le 16/10/2011, à 11:04
- helly
Re : /* Topic des codeurs [6] */
Non, j’tiens pas vraiment au raccourcis, je voulais juste m’assurer que ça soit normal quoi.
Merci pour tout.
Bon, je retourne dans mon code (ça m’fait un de ces biens de recoder ^^)
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#774 Le 16/10/2011, à 11:13
- Elzen
Re : /* Topic des codeurs [6] */
Hey, les gens, deux p'tits trucs qui n'ont pas grand chose à voir avec le codage, mais j'pense que vous pourriez savoir :
1- J'suis en train de faire un nouveau thème pour mon site ; j'voudrais réutiliser des images d'un thème de curseur X11, mais pour ça, il faudrait d'abord que j'les mette dans un vrai format d'image, parce que j'n'arrive à les ouvrir avec rien. La commande file me dit seulement, pour chacun d'eux, « nom du fichier: X11 cursor ». Quelqu'un sait comment j'peux convertir ça ?
2- J'sais pas pourquoi, mais sur mon nouvel ordi, j'ai l'impression que ssh -X a du mal avec la transparence des images. Genre quand j'ouvre un petit script PyGTK pour m'afficher une pseudo-notif, l'image apparaît dans un carré noir. Idem, j'mets une icône dans le systray pour me rappeler que ssh tourne, j'ai un carré noir autour de l'image aussi. Sur mon ancien portable, ça n'faisait pas ça, sur mon fixe ça n'le fait toujours pas, donc ça doit venir du système sur mon nouveau portable. 'Sauriez à quoi ça peut être du ?
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#775 Le 16/10/2011, à 11:25
- tshirtman
Re : /* Topic des codeurs [6] */
essaye de renommer ta copie en .xpm
Hors ligne