Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#76 Le 13/06/2010, à 20:29

helly

Re : /* Topic des codeurs couche-tard [1] */

Ouais mais le problème c'est justement que la valeur de cette constante est un argument du constructeur donc je peux pas la savoir à l'avance…
Bha zut alors mad

Mais bon, merci tu viens de m'apprendre la définition d'une constante en c++ lol
Mais y'a pas un nom alors pour ce que je cherche à faire ?
Un truc dont on connais pas la valeur au lancement du programme, mais qu'on affecte une seule fois et qui varie pas ensuite ?

Dernière modification par helly (Le 13/06/2010, à 20:31)


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

#77 Le 13/06/2010, à 21:28

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

helly a écrit :

Mais bon, merci tu viens de m'apprendre la définition d'une constante en c++ lol

Non, ce n'est pas propre au C++.
C'est une définition générale.
Il me semble que lorsqu'on déclare une constante elle est placé dans une zone mémoire en lecture seule (et encore, je pense plutôt que le compilo remplace directement les occurences par la valeur).
Donc à partir du moment où c'est modifié à l'exécution c'est situé dans une zone en lecture/écriture donc rien n'empêche de la remodifier par la suite => c'est une variable.

Mais y'a pas un nom alors pour ce que je cherche à faire ?

Non, je n'en vois pas.

Un truc dont on connais pas la valeur au lancement du programme, mais qu'on affecte une seule fois et qui varie pas ensuite ?

Bah tu fais une variable.
De tout manière, si elle est privée il n'y que tes méthodes qui peuvent y toucher. C'est à toi de faire gaffe à ne pas la modifier, c'est tout.

Dernière modification par grim7reaper (Le 13/06/2010, à 21:32)

Hors ligne

#78 Le 13/06/2010, à 21:43

gnuuat

Re : /* Topic des codeurs couche-tard [1] */

helly a écrit :

T'as pris l'option «sans grandes vacances» ?
(si t'as payé pour avoir cette option, tu t'es fait avoir tongue )

Damnit >_<


Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !

Hors ligne

#79 Le 13/06/2010, à 22:09

Pylades

Re : /* Topic des codeurs couche-tard [1] */

grim7reaper a écrit :

Ta lib est terminée ?

Non, le debug est effectué ; mais je veux ajouter une fonctionnalité qui va probablement nécessité un léger remaniement du code.
Mais en fait je parlais du compteur. ^^
(Il a correctement suivi le lien.)

grim7reaper a écrit :

Bon la symétrie ne sera pas parfaite car je ne crois pas qu'on puisse faire le planeur dans les deux sens, mais je m'en contenterai tongue.

⠠⠵ Topic des codeurs couche-tard [1] ⠮⠄
neutral

helly a écrit :

Hey les gens, y'a moyen de mettre une variable en const dans une classe ? genre

class plop
{
 private : const int p;
}

Le problème c'est que quand je déclare comme ça, il en veut pas hmm
Alors que j'en aurai besoin pour une variable que je n'affecte qu'une seule fois pour cette classe, et ensuite j'ai plus besoin de la faire varier…
(une constante quoi tongue )

Bah bien sûr : tu déclares une variable en const sans l’initialiser. Je ne sais pas pour les classes du C++, mais en C il n’est pas possible d’avoir une variable constante dans une structure.

grim7reaper a écrit :

C'est normal, une constante doit avoir sa valeur fixée à la compilation (c'est la définition même d'une constante, elle à une valeur au lancement du programme puis n'en change pas).

Non.
Pour t’en convaincre :

#include <stdio.h>
int main(int argc,char** argv)
{
    int c=argc;
    const int t=c*2+1;
    printf("%d\n",t);
    return 0;
}

Note : le seul warning obtenu lors d’une compilation avec suffisamment de flags (-pedantic -Wall -Wextra) concerne le fait qu’argv n’est pas utilisée.

grim7reaper a écrit :

Il me semble que lorsqu'on déclare une constante elle est placé dans une zone mémoire en lecture seule (et encore, je pense plutôt que le compilo remplace directement les occurences par la valeur).

Archi-faux (voir plus haut).

grim7reaper a écrit :
helly a écrit :

Mais y'a pas un nom alors pour ce que je cherche à faire ?

Non, je n'en vois pas.

Il y a bien un « truc », mais… moche, très moche… Oublie.

grim7reaper a écrit :
helly a écrit :

Un truc dont on connais pas la valeur au lancement du programme, mais qu'on affecte une seule fois et qui varie pas ensuite ?

Bah tu fais une variable.
De tout manière, si elle est privée il n'y que tes méthodes qui peuvent y toucher. C'est à toi de faire gaffe à ne pas la modifier, c'est tout.

+1

Sinon, grim7reaper, bon courage pour tes révisons puis exams. smile

Pas fâché d’être en vacances, moi. tongue


“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

#80 Le 13/06/2010, à 22:19

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

@Pylade : au temps pour moi alors (pour la symétrie et les constantes).

J'ai fait un amalgame entre le fait qu'une constante doit être initialisée au moment sa déclaration (ce qui est vrai, on ne peut pas lui donner une valeur après) et le fait que la valeur doit être connu à la compilation (ce qui est faux comme tu l'as démontré).
Conclusion, faut que je récupère de mon manque de sommeil pour défragmenter ma mémoire. Ça m'éviteras de tout mélanger et de dire des conneries.

Enfin, j'ai quand même raison (du moins je crois, faudrais que tu me montres ton moyen crade pour que j'en sois sûr) quand je dis que ce qu'elle veux faire n'est pas possible.

Merci pour les encouragements, je vais en avoir besoin pour valider ce p****n de module de maths (les maths c'est cool, mais c'est mieux avec des bonnes notes hmm).

Dernière modification par grim7reaper (Le 13/06/2010, à 22:27)

Hors ligne

#81 Le 13/06/2010, à 22:53

Pylades

Re : /* Topic des codeurs couche-tard [1] */

grim7reaper a écrit :

Conclusion, faut que je récupère de mon manque de sommeil pour défragmenter ma mémoire. Ça m'éviteras de tout mélanger et de dire des conneries.

Passe à ext4 ! tongue
(Bon, c’est vrai, ext4 se fragmente si la partoche est vraiment trop remplie… hmm)

grim7reaper a écrit :

Enfin, j'ai quand même raison (du moins je crois, faudrais que tu me montres ton moyen crade pour que j'en sois sûr) quand je dis que ce qu'elle veux faire n'est pas possible.

Je vais parler de constructeur. Je ne sais pas vraiment ce que ça signifie, mais j’en ai une petite idée. Voici mon « truc » crade : dans la classe, mettre un attribut de type const int*. Ensuite, dans le constructeur, déclarer et initialiser correctement un static const int, et faire pointer l’attribut dessus. Mais c’est super moche et inutile, d’autant plus que ça ne protège pas contre la modification du pointeur, et il n’est même pas sûr que cela étant donné que j’ai fait le raisonnement pour du C avec une structure et une fonction construisant correctement la structure ; puis essayé de maladroitement transposer au C++. Et puis en plus, il me semble qu’en C++ on a plus tendance à plus utiliser les références que pointeurs.
Enfin bref, tout ça pour dire qu’à part des bidouillages permettant d’imiter ce que helly voulait faire, il n’y a rien pour faire ce qu’elle voulait ; et qu’elle ferait mieux de ne pas s’ennuyer avec ça et de faire comme tu as dit.

grim7reaper a écrit :

les maths c'est cool

cool


“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

#82 Le 13/06/2010, à 23:41

cm-t

Re : /* Topic des codeurs couche-tard [1] */

if(semaine.success()) Bac+=3;

'Nuit

edit a point

Dernière modification par cm-t (Le 14/06/2010, à 00:02)


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#83 Le 13/06/2010, à 23:46

Кຼزດ

Re : /* Topic des codeurs couche-tard [1] */

try
{
     Mathieui.sleep(25200000);
}
catch (Exception e)
{
    System.out.println("Je proteste.");
}

Dernière modification par mathieuI (Le 14/06/2010, à 00:52)


dou

Hors ligne

#84 Le 14/06/2010, à 01:54

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Putain, je ne savais pas que je pouvais faire du code aussi inutile ! yikes
J’ai réussi à surcharger (pas au sens C++ tongue) une fonction de cinq lignes et d’un argument, pour pouvoir en ainsi réaliser en deux lignes ce que je pouvais faire en une ligne et sans compliquer la fonction… ><'

Enfin, je soupçonne que cet état des choses résulte d’une évolution importante dans ma façon d’aborder le problème. roll

N’empêche que là, j’aurais pu figurer au palmarès des codes les plus inutiles de la création. yikes
Je dois être plus vigilant. Enfin, au moins, j’aurai fait un peu de nettoyage…


“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

#85 Le 14/06/2010, à 02:01

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

[Annonce importante]Nethack nuit gravement à votre productivité, le mieux c'est ne pas commencer[/Annonce importante]

BN World !

Hors ligne

#86 Le 14/06/2010, à 02:04

samυncle

Re : /* Topic des codeurs couche-tard [1] */

smile


Hello world

Hors ligne

#87 Le 14/06/2010, à 02:05

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Bon, en faisant échouer aléatoirement malloc, je n’ai aucun crash, et aucune fuite de mémoire sur une dizaine de tests. Il faudra tester un peu plus, mais plus tard, là je vais au lit.

BN all. wink


“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

#88 Le 14/06/2010, à 02:23

nesthib

Re : /* Topic des codeurs couche-tard [1] */

c'est moi qui vais protester demain x_x


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#89 Le 14/06/2010, à 09:45

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [1] */

Scores totaux, depuis le début :

1) 505    samuncle
2) 420    nesthib
3) 415    Pylade
4) 373+5  grim7reaper ** bonus +5 pour avoir répondu à ce post : ./viewtopic.php?pid=3486252#p3486252 **
5) 331    mathieuI
6) 225    cm-t
7) 182    helly
8) 163    gnuuat
9) 121    ǤƦƯƝƬ
10) 107    tshirtman
11) 83    petifrancais
12) 50    \\Ouranos//
13) 38    pierguiard
14) 37    ilagas
15) 30    keny
16) 25    GentooUser
17) 23    Kanor
18) 19    Le Rouge
19) 18    Ph3nix_
20) 14    kouskous
21) 12    stratoboy
21) 12    sailing
23) 11    Lagierl
24) 10    CROWD
24) 10    Toineo
26) 9    xapantu
27) 8    Mornagest
28) 7    Vista
29) 6    Zeibux
29) 6    Р'tite G☢gole :mad:
31) 5    timsy
32) 4    danychou56
32) 4    Neros
32) 4    Biaise
35) 3    gulp
36) 1    ceric
36) 1    pfriedK
36) 1    geenux

chart?chs=675x280&cht=p3&chco=d80020,d88000,ffd840,20d820,2080ff,101080,a020d8&chf=bg,s,c0c0c0&chl=00h%20-%2000h59|02h%20-%2002h59|03h%20-%2003h59|08h%20-%2008h59|09h%20-%2009h59|10h%20-%2010h59|11h%20-%2011h59|12h%20-%2012h59|13h%20-%2013h59|14h%20-%2014h59|15h%20-%2015h59|20h%20-%2020h59|21h%20-%2021h59|22h%20-%2022h59|23h%20-%2023h59&chd=t:2,1,4,1,4,2,8,2,3,3,1,1,5,2,3&chp=1.6&chtt=R%C3%A9partition%20des%20posts&chts=606060,16chart?chs=675x250&cht=bvs&chxt=x,y&chds=0,10&chxr=1,0,10&chf=b0,lg,0,803000,0,ffc080,1|bg,lg,90,e8e8e8,0,c0c0c0,0.9&chxl=0:|05h|06h|07h|08h|09h|10h|11h|12h|13h|14h|15h|16h|17h|18h|19h|20h|21h|22h|23h|00h|01h|02h|03h|04h&chxp=0,0.7,4.9,9.1,13.2,17.3,21.5,25.6,29.8,33.9,38,42.2,46.3,50.5,54.6,58.8,62.9,67,71.2,75.3,79.4,83.6,87.7,91.8,96&chd=t:0,0,0,1,4,2,8,2,3,3,1,0,0,0,0,1,5,2,3,2,0,1,4,0&chm=N,803000,0,-1,12&chtt=Nombre%20de%20posts%20par%20heure&chts=606060,16


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#90 Le 14/06/2010, à 09:45

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [1] */

Scores de la période en cours :

1) 130    Pylade
2) 110    samuncle
3) 96    mathieuI
4) 95    grim7reaper
5) 93    nesthib
6) 66    gnuuat
7) 49    helly
8) 42    cm-t
9) 32    tshirtman
10) 20    keny
11) 15    \\Ouranos//
11) 15    ǤƦƯƝƬ
13) 13    petifrancais
13) 13    pierguiard
15) 9    Kanor
16) 7    Vista
17) 5    sailing
17) 5    timsy
19) 4    Toineo
19) 4    Lagierl
19) 4    xapantu
22) 3    gulp
22) 3    Р'tite G☢gole :mad:
24) 2    kouskous
24) 2    Mornagest

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#91 Le 14/06/2010, à 11:02

Pylades

Re : /* Topic des codeurs couche-tard [1] */

==3240== Memcheck, a memory error detector
==3240== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==3240== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==3240== Command: ./debug -fd --val=ty --val=trezhnr,y --unap=3
==3240== 
==3240== 
==3240== HEAP SUMMARY:
==3240==     in use at exit: 8 bytes in 1 blocks
==3240==   total heap usage: 14 allocs, 13 frees, 336 bytes allocated
==3240== 
==3240== 8 bytes in 1 blocks are definitely lost in loss record 1 of 1
==3240==    at 0x4C25153: malloc (vg_replace_malloc.c:195)
==3240==    by 0x400B1E: smalloc (atropt.c:41)
==3240==    by 0x4017B8: new_option (user.c:63)
==3240==    by 0x401ABF: new_option_table (user.c:178)
==3240==    by 0x400844: main (debug.c:12)
==3240== 
==3240== LEAK SUMMARY:
==3240==    definitely lost: 8 bytes in 1 blocks
==3240==    indirectly lost: 0 bytes in 0 blocks
==3240==      possibly lost: 0 bytes in 0 blocks
==3240==    still reachable: 0 bytes in 0 blocks
==3240==         suppressed: 0 bytes in 0 blocks
==3240== 
==3240== For counts of detected and suppressed errors, rerun with: -v
==3240== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

Naaannn !!!
Pile au moment où j’allais considérer que mon code était exempt de tout problème… Allons bon…

En plus, je ne sais même pas quelle portion du code est responsable de ça…
Et à part mettre un puts("malloc error: atropt.c:178"); à chaque occurrence d’un malloc pour voir où l’échec se produit (et relancer cinquante fois le test pour arriver sur cette erreur), je ne vois pas comment savoir d’où vient le problème. Hum, ça va être très fastidieux, et ça va me faire chier…

Je crois que je suis rentré dans la phase la plus terrible du debug : la traque des fuites de mémoire insidieusement cachées dans les échecs de malloc. mad


“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

#92 Le 14/06/2010, à 11:18

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Tu les génère comment tes échec aléatoires de malloc ?
Avec rand() ?

Hors ligne

#93 Le 14/06/2010, à 11:20

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Ouaip.

(Et je change la graine à chaque fois qu’est exécuté le programme de debug, avec time(NULL).)

Dernière modification par Pylade (Le 14/06/2010, à 11:20)


“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

#94 Le 14/06/2010, à 11:23

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Bah justement.
Affiche la graine à chaque fois, quand tu as une config qui bug tu fixes la graine avec la valeur qui a fait apparaître le bug.
Ainsi, tu ne bosses que sur la série d'échec qui fait fuire ta mémoire (tu n'as pas besoin de relancer 42 fois ton programme pour que ça réapparaisse) et c'est plus simple pour la traque.

Sinon time(NULL) c'est bien comme initialisation mais il ne faut pas lancer le programme plus d'une fois par seconde, sinon tu auras plusieurs fois les mêmes séries (bon là ce n'est pas le cas, mais c'est bon à savoir)

Dernière modification par grim7reaper (Le 14/06/2010, à 11:28)

Hors ligne

#95 Le 14/06/2010, à 14:54

Pylades

Re : /* Topic des codeurs couche-tard [1] */

grim7reaper a écrit :

Bah justement.
Affiche la graine à chaque fois, quand tu as une config qui bug tu fixes la graine avec la valeur qui a fait apparaître le bug.
Ainsi, tu ne bosses que sur la série d'échec qui fait fuire ta mémoire (tu n'as pas besoin de relancer 42 fois ton programme pour que ça réapparaisse) et c'est plus simple pour la traque.

Ce n’est pas con, ça…
/me se demande pourquoi il n’y a pas pensé plus tôt, et se fouette avec application.

grim7reaper a écrit :

Sinon time(NULL) c'est bien comme initialisation mais il ne faut pas lancer le programme plus d'une fois par seconde, sinon tu auras plusieurs fois les mêmes séries (bon là ce n'est pas le cas, mais c'est bon à savoir)

Oui, je sais. ^^
Mais là, il n’y a pas trop de problèmes. big_smile


“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

#96 Le 14/06/2010, à 17:10

nany

Re : /* Topic des codeurs couche-tard [1] */

Bonjour chez vous. big_smile

Pylade a écrit :

Il reste l’avis de cinq habitués ici à prendre en compte (grim7reaper, gnuuat, tshirtman, nesthib, le n@nyl@nd). Donc quand on aura eu tous les avis il ne pourra pas y avoir d’égalité. smile

helly a écrit :

Sauf si deux font  avant
Deux après
Et un ne se prononce pas roll

Eh bien je serai celui qui ne se prononce pas car je ne me considère pas comme un « habitué » dans le sens que je n’y poste pas de code exclusif.
Et puis,

Pylade a écrit :

[…]
Pour faire un planeur, tu peux bidouiller avec le braille : ⠠⠵
[…]

C’est effectivement du bidouillage : ça ressemble à un planeur mais ce n’est pas un planeur. tongue


Bon, et puisque je viens poster ici, je mets un petit peu de code pour le compteur :

        if res[0] is not True:
            url = url.split('?')[0]+'?'+res[0].split('?')[1]+'&p=1'

Comme ça, on pourra reprocher aux modos, à juste titre, de ne pas mettre de liens relatifs. tongue

Hors ligne

#97 Le 14/06/2010, à 18:08

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Pylade a écrit :
grim7reaper a écrit :

Bah justement.
Affiche la graine à chaque fois, quand tu as une config qui bug tu fixes la graine avec la valeur qui a fait apparaître le bug.
Ainsi, tu ne bosses que sur la série d'échec qui fait fuire ta mémoire (tu n'as pas besoin de relancer 42 fois ton programme pour que ça réapparaisse) et c'est plus simple pour la traque.

Ce n’est pas con, ça…
/me se demande pourquoi il n’y a pas pensé plus tôt, et se fouette avec application.

T'inquiètes pas, j'ai "découvert" cette astuce récemment moi aussi ><".

Hors ligne

#98 Le 14/06/2010, à 22:38

helly

Re : /* Topic des codeurs couche-tard [1] */

BN à plop


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

#99 Le 14/06/2010, à 22:43

Elzen

Re : /* Topic des codeurs couche-tard [1] */

Est-ce que quelqu'un saurait, par hasard, s'il existe un quelconque moyen (si possible sans avoir à compiler trois tonnes de trucs ou je-sais-pas-quoi) d'avoir un SystemTray en PyGTK ? Pas une icône, le tray lui-même.

Dernière modification par ArkSeth (Le 14/06/2010, à 22:44)

Hors ligne

#100 Le 14/06/2010, à 22:54

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

À moins de le faire toi-même, je ne pense pas.

Hors ligne