Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1896 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  20817  20818  20819  ..  27190  27191  27192  27193  27194  27195
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2207313
Blackyell
$question = $to_be || !$to_be;
Posté le 19-10-2013 à 09:39:11  profilanswer
 

Reprise du message précédent :

Lam's a écrit :


C'est là la feinte, c'est que ça ressemble à un truc assez simple qu'on peut torcher en 3 minutes, et une chose en amenant une autre, ça peut l'embarquer pour quelques heures (et je l'ai pas fait au hasard, ça colle avec la personnalité et l'expérience vendue du candidat).
 
D'autre part, tu négliges 2 aspects:
1. La très grosse majorité des candidats qu'on reçoit pensent vraiment être des cadors en C++. J'en ai eu un ce matin, qui se donnait un 7,5/10, me disant que pour être à 8-8,5, il lui manquait juste de l'expérience. Le mec ne comprenait même pas la difference entre const et protected, et ne savait pas ce que fait dynamic_cast.
2. En finance, c'est encore la crise. Les candidats galèrent pour trouver. Et chez elmocorp d'ailleurs, ils vont encore dégraisser.
 
L'autre exo que je donne, il se torche vraiment en 5 minutes pour un développeur normal, quelque soit le langage. C'est juste un filtre à grocons, du même niveau que fizzbuzz.


 
Ben déjà y'a pas le même nombre de lettres.
 
Et const ça commence par con, alors que protected ça commence par pro.
 
Pis "protected" ça fait penser à de la protection, c'est rassurant, donc positif...
 
Alors que "const", ça fait penser à constipation, et ça c'est pas cool, et donc négatif.
 
Bref, à la question, moi je répondrais "protected" :o
 
/aucun_rapport (/that's what she said)

mood
Publicité
Posté le 19-10-2013 à 09:39:11  profilanswer
 

n°2207314
nraynaud
lol
Posté le 19-10-2013 à 09:48:35  profilanswer
 


Nathalie :o


---------------
trainoo.com, c'est fini
n°2207317
nraynaud
lol
Posté le 19-10-2013 à 10:31:07  profilanswer
 

ça un intérêt de sous-classer une classe qui n'a ni destructeur virtuel ni rien de virtuel en C++ ?
 
genre une hiérarchie de classe sans aucune vtable ?
 
parce que sinon le mot clef "final" ne sert à rien, l'absence de destructeru virtuel suffit à interdire de sous-classes.


---------------
trainoo.com, c'est fini
n°2207319
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 19-10-2013 à 10:57:23  profilanswer
 

nraynaud a écrit :

ça un intérêt de sous-classer une classe qui n'a ni destructeur virtuel ni rien de virtuel en C++ ?
 
genre une hiérarchie de classe sans aucune vtable ?
 
parce que sinon le mot clef "final" ne sert à rien, l'absence de destructeru virtuel suffit à interdire de sous-classes.


 
Sauf que 'The methods in the leaf classes are implicitly virtual if they are virtual in the base class.'


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2207322
nraynaud
lol
Posté le 19-10-2013 à 11:14:25  profilanswer
 

Xavier_OM a écrit :


 
Sauf que 'The methods in the leaf classes are implicitly virtual if they are virtual in the base class.'


je comprends pas ce que tu veux souligner.
si t'as rien de virtuel dans un classe, est-ce que t'as le moindre intérêt à ce qu'elle ne soit pas "final" ?


---------------
trainoo.com, c'est fini
n°2207323
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 19-10-2013 à 11:18:18  profilanswer
 

nraynaud a écrit :


je comprends pas ce que tu veux souligner.
si t'as rien de virtuel dans un classe, est-ce que t'as le moindre intérêt à ce qu'elle ne soit pas "final" ?


 
Ha ok j'avais pas compris ta question comme ça, je pensais que tu te demandais l'intérêt du mot clef final en général :o My bad


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2207328
Un Program​meur
Posté le 19-10-2013 à 12:04:20  profilanswer
 

nraynaud a écrit :


je comprends pas ce que tu veux souligner.
si t'as rien de virtuel dans un classe, est-ce que t'as le moindre intérêt à ce qu'elle ne soit pas "final" ?


 
La vraie question est "Est-ce que tu as le moindre intérêt qu'elle le soit?", je comprends final pour bloquer la virtualité existante, mais sur les classes en général, j'ai toujours l'impression que c'est interdire pour le plaisir ou parce qu'on a compris que la relation IS-A s'exprime en C++ par l'héritage, mais qu'on n'a pas encore compris qu'on peut vouloir utiliser l'héritage pour autre chose.
 
Les templates utilisés avec le CRTP le sont couramment s'ils n'ont pas eux-même une classe de base qui leur refile des choses virtuelles par exemple.  Ou hériter des politiques. Ou plus généralement profiter de l'optimisation propre aux classes de bases de taille nulle ou du fait que la recherche des noms commence dans la classe.
 
En général, hériter sans virtuelles, c'est pour hériter de l'implémentation, -- donc ça se voit aussi plus en héritage privé ou protégé --, ça évite d'écrire une tonne de fonctions qui seraient nécessaires si on déléguait simplement.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°2207333
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 19-10-2013 à 12:18:03  profilanswer
 

nraynaud a écrit :

ça un intérêt de sous-classer une classe qui n'a ni destructeur virtuel ni rien de virtuel en C++ ?

 

genre une hiérarchie de classe sans aucune vtable ?

 

parce que sinon le mot clef "final" ne sert à rien, l'absence de destructeru virtuel suffit à interdire de sous-classes.


Tu peux faire des hiérarchies de classe sans avoir l'intention d'utiliser le polymorphisme, oui. Tu auras toujours un constructeur différent, et des fonctions supplémentaires dans tes classes dérivées.

Message cité 1 fois
Message édité par hephaestos le 19-10-2013 à 12:18:11
n°2207334
nraynaud
lol
Posté le 19-10-2013 à 12:30:40  profilanswer
 

hephaestos a écrit :


Tu peux faire des hiérarchies de classe sans avoir l'intention d'utiliser le polymorphisme, oui. Tu auras toujours un constructeur différent, et des fonctions supplémentaires dans tes classes dérivées.


quel est l'intérêt de le faire ?


---------------
trainoo.com, c'est fini
n°2207336
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 19-10-2013 à 12:47:12  profilanswer
 

nraynaud a écrit :


quel est l'intérêt de le faire ?


Communiquer ce qui est générique de ce qui est est particulier, et partager des fonctions communes entre des objets semblables mais différents. Il y a d'autres façons d'éviter la réécriture de code c'est certain, celle-ci exprime des idées forte sur la nature des points communs entre deux classes qui héritent d'une même classe de base, ou entre la classe de base et sa dérivée.

 

L'important c'est que Base, Dérivée1 et Dérivée2 sont trois classes différentes. Avec le polymorphisme on les traite pareil et on en change le comportement le moment venu. Mais on peut très bien les traiter tout le temps différemment, ne pas avoir envie/besoin de jouer avec des pointeurs et des tables virtuelles, mais vouloir prendre parti des points communs entre les classes.


Message édité par hephaestos le 19-10-2013 à 13:08:35
mood
Publicité
Posté le 19-10-2013 à 12:47:12  profilanswer
 

n°2207338
Dion
Acceuil
Posté le 19-10-2013 à 13:04:14  profilanswer
 

nraynaud a écrit :


ça me rappelle cet appel d'offres où ils nous demandaient le plan de prévention des inégalités envers le minorités visibles ou un truc du style.  
- heu on est une boite de 1 an avec 10-15 personnes, on a mis le tableau des trucs obligatoires la semaine dernière, on en est pas encore là dans la branlette [:pingouino]
Naturellement, les boss on créé un plan immédiatement et l'ont envoyé avec un plan qualité ad hoc et je suppose des dizaines d'autres plan bullshitteux.  
 
D'ailleurs le pire c'est je pense pas que les procédures étaient si mauvaises et non-répétables (haha, c'est moi qui les ait introduites), mais quand t'es en cravate dire "ben quand on a un bug on fait une fiche rose et on la met sur le tableau, mais n'importe quel mercredi on peut décider de changer ça" est un peu difficile. Et la ré-oralisation de la culture, ils aiment pas non plus.


Mais en fait t'es de gauche juste sur tes statuts pourris sur facebook ? Ya pas une seule action derrière ? :(
 

uriel a écrit :


c;est pas la premiere fois qu'on reponds a un RFP/RFI mais certains sont vraiment ignobles. en general je bosse plus tard dans le process donc je vois pas cette partie la mais je fais de plus en plus de product management/marketing donc malheureusement ca vient avec :/


Je vois pas trop le rapport avec le product management en fait :D


---------------
It is not called show art
n°2207339
nraynaud
lol
Posté le 19-10-2013 à 13:06:13  profilanswer
 

Dion a écrit :


Mais en fait t'es de gauche juste sur tes statuts pourris sur facebook ? Ya pas une seule action derrière ? :(


T'as besoin d'un plan pour pas faire de discrimination envers les juifs ?


---------------
trainoo.com, c'est fini
n°2207340
Dion
Acceuil
Posté le 19-10-2013 à 13:10:20  profilanswer
 

nraynaud a écrit :


T'as besoin d'un plan pour pas faire de discrimination envers les juifs ?


Dans la finance ? Non ça va ya pas besoin.
 
 
Par contre combien de femmes noirs tétraplégiques dans l'équipe de direction de ta dernière start up ?
Et combien d'hommes blancs valides ?
 
 


---------------
It is not called show art
n°2207341
nraynaud
lol
Posté le 19-10-2013 à 13:14:12  profilanswer
 

Dion a écrit :


Dans la finance ? Non ça va ya pas besoin.
 
 
Par contre combien de femmes noirs tétraplégiques dans l'équipe de direction de ta dernière start up ?
Et combien d'hommes blancs valides ?


divisé par le nombre de candidats ?


---------------
trainoo.com, c'est fini
n°2207342
Dion
Acceuil
Posté le 19-10-2013 à 13:19:28  profilanswer
 

Bah non faut rendre ton entreprise attractive pour ce genre de profils

 

Presque pas de juifs chez les Waffen SS ? C'est normal il y a peu de candidats, on n'a pas de problèmes d'antisémitisme [:cosmoschtroumpf]

Message cité 1 fois
Message édité par Dion le 19-10-2013 à 13:19:38

---------------
It is not called show art
n°2207344
nraynaud
lol
Posté le 19-10-2013 à 13:38:59  profilanswer
 

Dion a écrit :

Bah non faut rendre ton entreprise attractive pour ce genre de profils


niet en l'occurrence c'était pas une politique positive, mais juste de la non-discrimination. J'imagine que ça vise plutôt les blagues lourdes et le harcèlement en général.
 
Parce que les quota et les primes à la jupe c'est discriminatoire justement.


---------------
trainoo.com, c'est fini
n°2207345
nraynaud
lol
Posté le 19-10-2013 à 13:41:07  profilanswer
 

merde, j'ai plus l'annonce que j'avais faite, si ça se trouve il y avait des références un peu beauf' qui auraient fait fuir les femmes justement.

 

edit: arf pour remplacer 0x90 ils cherchent 3 personnes dans notre ex-boite.

Message cité 1 fois
Message édité par nraynaud le 19-10-2013 à 13:42:21

---------------
trainoo.com, c'est fini
n°2207346
Jubijub
Parce que je le VD bien
Posté le 19-10-2013 à 13:55:52  profilanswer
 

Dion a écrit :


Dans la finance ? Non ça va ya pas besoin.
 
 
Par contre combien de femmes noirs tétraplégiques dans l'équipe de direction de ta dernière start up ?
Et combien d'hommes blancs valides ?
 
 


 
ça me rappelle mon ancienne boite ça...à un moment on a eu une vague de jeunes ingénieures noires...ça a un côté mot compte double. Elles auraient été invalides, c'était super banco :o
je pense que qqn aux RH a eu ses objectifs gender balance / equal opportunities
 
j'ai un peu plains les filles les premiers temps, parce qu'elles ont légitimement pu se demander si c'est vraiment sur CV qu'elles sont arrivées dans la boite :/


---------------
Jubi Photos : Flickr - 500px
n°2207349
vapeur_coc​honne
Stig de Loisir
Posté le 19-10-2013 à 14:30:17  profilanswer
 


Dion a écrit :


Tu lis lam's t'as l'impression qu'il est chez google et que tous les branlos vont passer des dizaines d'heures à faire ses exos et vont être effondrés pendant des semaines quand ils recevront un non...


meme noter une stagiaire c'est pas de son ressort ...


---------------
marilou repose sous la neige
n°2207353
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 19-10-2013 à 14:55:01  profilanswer
 

nraynaud a écrit :


 
edit: arf pour remplacer 0x90 ils cherchent 3 personnes dans notre ex-boite.


 
Ha oui quand même :D


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2207354
Blackyell
$question = $to_be || !$to_be;
Posté le 19-10-2013 à 15:27:03  profilanswer
 

Ptin mais télécharger 5Go pour un jeu, le lancer, et devoir se retaper 2Go de patch [:kiki]
 
Il arrive quand le jour où les jeux seront patchés à la base ? :/

n°2207355
flo850
moi je
Posté le 19-10-2013 à 15:28:38  profilanswer
 

http://www.euronews.com/2013/10/18 [...] s-to-rome/
on y va après demain :o

 
Citation :

Lyon (LYS)
Terminal 3
Rome Fiumicino (FCO)
Terminal 2
Départ
Prévu
11:30
Parti
17:43
Arrivée
Prévu
13:00
Arrivé
19:02
Arrivé 19:02


arrivée prévue a 13h, arrivée réelle a 19h00
:/


Message édité par flo850 le 19-10-2013 à 15:35:14

---------------

n°2207360
ratibus
Posté le 19-10-2013 à 16:23:56  profilanswer
 

Moi pdt 3 jours j'ai pas pu voir le Colisée à cause de la neige :o

n°2207375
nraynaud
lol
Posté le 20-10-2013 à 07:01:30  profilanswer
 

preum's.


---------------
trainoo.com, c'est fini
n°2207378
nraynaud
lol
Posté le 20-10-2013 à 10:24:56  profilanswer
 

'tain j'en suis à un peu plus d'une dizaine d'heures de vidéos sur C++, je déchante pas mal en fait.  
Entre les centaines de comportements indéfinis qui ne provoquent pas de warning/erreur, les trucs où tu es sensé savoir ce que tu fais, mais la description fait des milliers de pages, et les idiomes qui te laissent les structures dans des états instables (genre remove/erase).
 
Même l'idée de "bon" C++ sent un peu la morue.


---------------
trainoo.com, c'est fini
n°2207380
Blackyell
$question = $to_be || !$to_be;
Posté le 20-10-2013 à 10:49:15  profilanswer
 

nraynaud a écrit :

'tain j'en suis à un peu plus d'une dizaine d'heures de vidéos sur C++, je déchante pas mal en fait.  
Entre les centaines de comportements indéfinis qui ne provoquent pas de warning/erreur, les trucs où tu es sensé savoir ce que tu fais, mais la description fait des milliers de pages, et les idiomes qui te laissent les structures dans des états instables (genre remove/erase).
 
Même l'idée de "bon" C++ sent un peu la morue.


 
On pourrait presque faire un s/C++/Php sur ton post en fait [:garath_]

n°2207382
nraynaud
lol
Posté le 20-10-2013 à 10:54:45  profilanswer
 

c'est une regex de C++11 que tu as fait ?


---------------
trainoo.com, c'est fini
n°2207385
flo850
moi je
Posté le 20-10-2013 à 11:32:27  profilanswer
 

http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/100000/90000/9000/500/199596/199596.strip.gif

Message cité 1 fois
Message édité par flo850 le 20-10-2013 à 11:34:12

---------------

n°2207396
masklinn
í dag viðrar vel til loftárása
Posté le 20-10-2013 à 14:30:28  profilanswer
 

J'ai Arkham Asilum et Arkham City. Je les ai jamais lancés. Hier, j'apprend qu'avec la fermeture de GFWL ils ont tous deux été portés à SteamWorks et les sauvegardes GFWL sont perdues (kinda sorta) & les achievements ne sont pas portés. J'ai rien perdu.

 

Flawless victory [:jar jar]

Message cité 1 fois
Message édité par masklinn le 20-10-2013 à 14:31:27

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2207398
nraynaud
lol
Posté le 20-10-2013 à 14:58:44  profilanswer
 

dites les jeunes, en C++
si je mets des lambdas dans une map<int, std::function<void (void)>>, puis que je remplace certaines valeurs.
Je leak rien ? tout se démerde sur les allocations ?
 

Code :
  1. class Machine {
  2.         std::unique_ptr<State> state;
  3.         std::map<int, std::function<void (void)>> irqHandlers;
  4.     public:
  5.         Machine() {
  6.             startup();
  7.             state.reset(new ReadyState(*this));
  8.         };
  9.         void registerIRQHandler(int irqN, std::function<void (void)> handler) {
  10.             irqHandlers[irqN] = handler;
  11.         }
  12.         void handleIRQ(int irqN) {
  13.             auto result = irqHandlers[irqN];
  14.             if (result)
  15.                 result();
  16.             else
  17.                 STM_EVAL_LEDOn(LED5);
  18.         }
  19.     };
  20.     inline ReadyState::ReadyState(Machine &machine) {
  21.         machine.registerIRQHandler(EXTI0_IRQn, [](void) {
  22.             if (EXTI_GetITStatus(USER_BUTTON_EXTI_LINE) != RESET) {
  23.                 EXTI_ClearITPendingBit(USER_BUTTON_EXTI_LINE);
  24.                 enterManualMode();
  25.             }
  26.         });
  27.     };
  28.     inline ManualState::ManualState(Machine &machine) {
  29.         machine.registerIRQHandler(EXTI0_IRQn, [](void) {
  30.             if (EXTI_GetITStatus(USER_BUTTON_EXTI_LINE) != RESET) {
  31.                 EXTI_ClearITPendingBit(USER_BUTTON_EXTI_LINE);
  32.                 exitManualMode();
  33.             }
  34.         });
  35.     }


---------------
trainoo.com, c'est fini
n°2207399
theShockWa​ve
I work at a firm named Koslow
Posté le 20-10-2013 à 15:09:16  profilanswer
 

Je vois pas vraiment ce que tu as peur de leaker, mais ouais, le destructeur de std::function va bien détruire ta lambda proprement.


---------------
last.fm
n°2207400
nraynaud
lol
Posté le 20-10-2013 à 15:20:11  profilanswer
 

J'en sais rien de ce que je pourrai leaker, je capte rien de ce que je fais, j'ai peur de tout [:ciler]


---------------
trainoo.com, c'est fini
n°2207401
theShockWa​ve
I work at a firm named Koslow
Posté le 20-10-2013 à 15:30:29  profilanswer
 

http://www.heat-miser.net/wp-content/uploads/2011/07/aie_confiance.gif


---------------
last.fm
n°2207402
el muchach​o
Comfortably Numb
Posté le 20-10-2013 à 15:43:32  profilanswer
 

Tant que tes lambdas ne font pas elles-mêmes d'alloc sur le tas (autrement qu'avec des smart pointers), y'a pas vraiment de raison de se faire du mouron.

 

ps: si je ne m'abuse, sauf si tu gères sa destruction ailleurs, tu vas leaker un ReadyState à chaque fois que tu fais un reset.

Message cité 1 fois
Message édité par el muchacho le 20-10-2013 à 15:48:14

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2207403
nraynaud
lol
Posté le 20-10-2013 à 15:49:32  profilanswer
 

el muchacho a écrit :

Tant que tes lambdas ne font pas elles-mêmes d'alloc sur le tas (autrement qu'avec des smart pointers), y'a pas vraiment de raison de se faire du mouron.
 
ps: si je ne m'abuse, sauf si tu gères sa destruction ailleurs, tu vas leaker un ReadyState à chaque fois que tu fais un reset.


raaah je croyais que justement le unique_ptr servait à éviter le leak :'(


---------------
trainoo.com, c'est fini
n°2207404
theShockWa​ve
I work at a firm named Koslow
Posté le 20-10-2013 à 15:52:19  profilanswer
 

nraynaud a écrit :


raaah je croyais que justement le unique_ptr servait à éviter le leak :'(

 

le reset est fait seulement dans le constructeur de Machine, donc j'aurais tendance à dire que c'est safe.

 

Edit : tu voudras peut-être plutôt faire un swap avec un autre unique_ptr local à ta fonction si tu veux changer le state pointé.

Message cité 2 fois
Message édité par theShockWave le 20-10-2013 à 15:55:13

---------------
last.fm
n°2207406
nraynaud
lol
Posté le 20-10-2013 à 16:05:06  profilanswer
 

theShockWave a écrit :


 
le reset est fait seulement dans le constructeur de Machine, donc j'aurais tendance à dire que c'est safe.
 
Edit : tu voudras peut-être plutôt faire un swap avec un autre unique_ptr local à ta fonction si tu veux changer le state pointé.


1) ben je le fais aussi régulièrement au changement d'état
 
2) je veux une sémantique qui détruise l'ancien état puis construise le nouveau. J'ai des ressources machine à libérer et re-créer dans les constructeurs/destructeurs. http://en.cppreference.com/w/cpp/m [...] _ptr/reset en l'occurence d'après la doc ça n'a pas l'air de faire ce que je veux, mais ça a l'air de détruire quand même.


---------------
trainoo.com, c'est fini
n°2207407
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 20-10-2013 à 16:07:38  profilanswer
 

masklinn a écrit :

J'ai Arkham Asilum et Arkham City. Je les ai jamais lancés. Hier, j'apprend qu'avec la fermeture de GFWL ils ont tous deux été portés à SteamWorks et les sauvegardes GFWL sont perdues (kinda sorta) & les achievements ne sont pas portés. J'ai rien perdu.
 
Flawless victory [:jar jar]


Oué, j'ai eu pareil sauf que moi j'avais des sauvegardes :D Mais bon, pas super grave, j'y ai pu joué depuis 1 an et demi facile. Et donc ouais, gain de DLC dans la foulée du flinguage de GFWL [:kbchris] Idem pour BioShock 2.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2207408
el muchach​o
Comfortably Numb
Posté le 20-10-2013 à 16:08:56  profilanswer
 

theShockWave a écrit :


 
le reset est fait seulement dans le constructeur de Machine, donc j'aurais tendance à dire que c'est safe.

Edit : tu voudras peut-être plutôt faire un swap avec un autre unique_ptr local à ta fonction si tu veux changer le state pointé.


Va pas lui dire ça alors qu'il veut apprendre à coder en C++ proprement. :o
 
raynal> le unique_ptr s'occupe de state, pas de ReadyState. L'erreur est de faire un new dans ton appel à reset(). A partir de là, tu as créé un objet dont tu as immédiatement perdu l'adresse, donc tu ne pourras pas le détruire. De façon générale, un new dans un appel de fonction est un "code smell" en C++. Tu peux je pense en revanche tenter un  
 
state.reset(unique_ptr(new ReadyState(*this)));
 
Je pense que ça devrait marcher (n'oublie pas d'écrire le destructeur de ReadyState si celui-ci alloue aussi du bordel).
 
edit:
après coup, ça ne compilera vraisemblablement pas, car il faudrait en principe mettre new devant unique_ptr.
Ce qu'il faut faire, c'est dans ta classe State, définir en attribut un unique_ptr<ReadyState> readyState, comme tu l'as fait avec State dans ta classe Machine.
Là, c'est sûr que ça va fonctionner.

Message cité 1 fois
Message édité par el muchacho le 20-10-2013 à 16:48:28

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2207409
theShockWa​ve
I work at a firm named Koslow
Posté le 20-10-2013 à 16:18:21  profilanswer
 

Citation :

Given current_ptr, the pointer that was managed by *this, performs the following actions, in this order:  
 * Saves a copy of the current pointer old_ptr = current_ptr  
 * Overwrites the current pointer with the argument current_ptr = ptr  
 * If the old pointer was non-empty, deletes the previously managed object if(old_ptr != nullptr) get_deleter()(old_ptr).


 
J'avais une mauvaise supposition sur reset(), tiens ...
Du coup, je vois vraiment pas le cas de figure dont vous parlez  [:petrus75]


---------------
last.fm
n°2207410
nraynaud
lol
Posté le 20-10-2013 à 16:18:44  profilanswer
 

el muchacho a écrit :


Va pas lui dire ça alors qu'il veut apprendre à coder en C++ proprement. :o
 
raynal> le unique_ptr s'occupe de state, pas de ReadyState. L'erreur est de faire un new dans ton appel à reset(). A partir de là, tu as créé un objet dont tu as immédiatement perdu l'adresse, donc tu ne pourras pas le détruire. De façon générale, un new dans un appel de fonction est un "code smell" en C++. Tu peux je pense en revanche tenter un  
 
state.reset(unique_ptr(new ReadyState(*this)));
 
Je pense que ça devrait marcher (n'oublie pas d'écrire le destructeur de ReadyState si celui-ci alloue aussi du bordel).
 
edit:
après coup, ça ne compilera vraisemblablement pas, car il faudrait mettre new devant unique_ptr.
Ce qu'il faut faire, c'est dans ta classe State, définir en attribut un unique_ptr<ReadyState> readyState, comme tu l'as fait avec State dans ta classe Machine.
Là, c'est sûr que ça va fonctionner.


j'ai l'impression que ton explication est complètement dissonante avec cette doc :
http://en.cppreference.com/w/cpp/m [...] _ptr/reset


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  20817  20818  20819  ..  27190  27191  27192  27193  27194  27195

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)