[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