[Dcmlib] GDCM_UNFOUND et static object initialization

Jean-Pierre ROUX jean-pierre.roux at creatis.insa-lyon.fr
Sun Jan 9 21:53:08 CET 2005


At 19:59 -0500 8/01/05, Mathieu Malaterre wrote:
>Yo,

C'est *vraiment* pas un truc pour Mickeys, les string C++.
Je n'ai pas compris qui n'allait pas dans la derniere solution qui 
aviait ete retenue, ni l'interet de la nouvelle ...

JP

>  Je me suis fais tirer les oreilles sur la mailing liste de gcc, a cause du :
>
>   static const std::string GDCM_UNFOUND = "foo";
>
>   Apparement c'est une erreur de debutant...
>
>   Plusieurs solution:
>1. Celle que j'ai faite, qui ressemble *enormement* a un hack de 
>quelqu'un qui n'a rien compris au probleme.
>
>2. Celle proposer par Gabriel Dos Reis sur la ML de gcc:
>
>---------------------------
>I regard objects defined in header files almost always as bad ideas to
>begin with.  Notable exceptions are manifest constants.  Why don't you
>move that foo to an implementation file and encapsulate it in a function?
>
>    // header.H
>    const std::string& foo();
>
>    // implementation.C
>    const std::string& foo() {
>        static const std::string instance = "foo";
>        return instance;
>    }
>
>see the abundant literature.
>----------------------------------
>
>
>Si ca gene personne je prefererais passer a la deuxieme solution qui 
>semble plus generale...
>
>Mathieu

   Jean-Pierre ROUX
   UMR CNRS 5515-CREATIS
   Laboratoire de Radiologie Experimentale
   Hopital Cardiologique
   28 Avenue du Doyen LEPINE
   B.P. Lyon-Montchat
   69394 Lyon Cedex 03
 
   Tel      : (+33) 04 72 35 74 12
   Fax      : (+33) 04 72 68 49 16
   URL      : http://www.creatis.univ-lyon1.fr
   e-mail   : jpr at creatis.univ-lyon1.fr
								   



More information about the Dcmlib mailing list