C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Je comprends pas cette ligne de code

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
arno
Guest





PostPosted: Mon Oct 24, 2005 4:54 pm    Post subject: Je comprends pas cette ligne de code Reply with quote



Bonjour a tous,

Je suis pas trop une star en C++, voici un bout de code que je ne
comprend absolument pas pouvez vous m'aider ?
Je suis sous Visual C++, et ILOG Views 3.1

Merci d'avance.


CSGChaine
CBench::chercheCodePays(CSGChaine codePaysDS)
{
static std::map<std::string,std::string> mapPaysDS; // C'est cette
ligne que je ne comprends pas

if( !mapPaysDS.size() ) {

ect ...

Back to top
Fabien LE LEZ
Guest





PostPosted: Mon Oct 24, 2005 5:14 pm    Post subject: Re: Je comprends pas cette ligne de code Reply with quote



On 24 Oct 2005 09:54:54 -0700, "arno" <c_moi_arno2004 (AT) yahoo (DOT) fr>:

Quote:
static std::map<std::string,std::string> mapPaysDS; // C'est cette
ligne que je ne comprends pas

"mapPaysDS" est un tableau asssociatif, qui associe une chaîne à une
autre.

Un tel tableau pourrait par exemple indiquer le pays où se trouve
chaque ville :
Paris -> France
Londres -> Royaume-Uni
Lyon -> France

Et dans ce cas,
cout << mapPaysDS["Paris"];
afficherait "France" à l'écran.


De plus, ce tableau est "static", c'est-à-dire qu'il est partagé entre
toutes les instances de la classe.


Back to top
Aurélien Barbier-Accary
Guest





PostPosted: Mon Oct 24, 2005 5:20 pm    Post subject: Re: Je comprends pas cette ligne de code Reply with quote



arno a écrit :
Quote:
Bonjour a tous,

Je suis pas trop une star en C++, voici un bout de code que je ne
comprend absolument pas pouvez vous m'aider ?
Je suis sous Visual C++, et ILOG Views 3.1

Merci d'avance.


CSGChaine
CBench::chercheCodePays(CSGChaine codePaysDS)
{
static std::map<std::string,std::string> mapPaysDS; // C'est cette
ligne que je ne comprends pas

if( !mapPaysDS.size() ) {

ect ...


map est un conteneur de la STL dont la doc est disponible ici :
http://www.sgi.com/tech/stl/Map.html

Pour savoir quels sont les conteneurs de la STL et lequel choisir selon la
situation, une aide est donnée ici :
http://c.developpez.com/faq/cpp/?page=STL#STL_choix_conteneur

Dans ton exemple, mapPAYSDS est un conteneur associatif (map) de chaînes de
caractères qui est une variable statique de la fonction chercheCodePays de la
classe CBench.
Pour avoir plus d'infos sur les variables, données et fonctions statiques, voir:
http://c.developpez.com/faq/cpp/?page=static

Aurélien.

Back to top
Fabien LE LEZ
Guest





PostPosted: Mon Oct 24, 2005 5:22 pm    Post subject: Re: Je comprends pas cette ligne de code Reply with quote

On Mon, 24 Oct 2005 19:14:08 +0200, Fabien LE LEZ
<gramster (AT) gramster (DOT) com>:

Quote:
De plus, ce tableau est "static", c'est-à-dire qu'[...]

Pardon, j'avais mal lu le code. Ce tableau est le même à chaque appel
de la fonction, c'est-à-dire que si la fonction le modifie au premier
appel, cette modification sera toujours visible à l'appel suivant.

Par exemple :

void f()
{
static int n= 0;
cout << n << "n";
++n;
}

int main()
{
f(); // Affiche 0
f(); // Affiche 1
f(); // Affiche 2
}


À comparer avec :

void g()
{
int n= 0;
cout << n << "n";
++n; /* Cette modification est perdue -- un bon compilateur affiche
un warning. */
}

int main()
{
g(); // Affiche 0
g(); // Affiche 0
g(); // Affiche 0
}



Quote:
ect ...

"etc.", en fait (abréviation de "et cetera", qui signifie "et les
autres). Note que "etc" est suivi d'un point (car c'est une
abréviation). Il n'y a pas de points de suspension, car justement
"etc." remplace les points de suspension.



Back to top
nico
Guest





PostPosted: Mon Oct 24, 2005 5:28 pm    Post subject: [HS]Re: Je comprends pas cette ligne de code Reply with quote

Fabien LE LEZ wrote:


Quote:
"etc.", en fait (abréviation de "et cetera", qui signifie "et les
autres). Note que "etc" est suivi d'un point (car c'est une
abréviation)

Je dirai même "et cætera" que je traduirai par "et toutes les autres choses"


--
nico

Back to top
Fabien LE LEZ
Guest





PostPosted: Mon Oct 24, 2005 5:36 pm    Post subject: Re: [HS]Re: Je comprends pas cette ligne de code Reply with quote

On Mon, 24 Oct 2005 19:28:52 +0200, nico <nospam (AT) spam (DOT) fr>:

Quote:
Je dirai même "et cætera"

Le Larousse accepte les deux.

Quote:
que je traduirai

Faudra qu'on m'explique, un jour, pourquoi tant de gens s'obstinent à
confondre le futur de l'indicatif et le présent du conditionnel.

Est-ce un signe des temps, l'impression que le futur est incertain ?

Quote:
par "et toutes les autres choses"


Back to top
nico
Guest





PostPosted: Mon Oct 24, 2005 6:12 pm    Post subject: Re: [HS]Re: Je comprends pas cette ligne de code Reply with quote

Fabien LE LEZ wrote:

Quote:
On Mon, 24 Oct 2005 19:28:52 +0200, nico <nospam (AT) spam (DOT) fr>:

Je dirai même "et cætera"

Le Larousse accepte les deux.

que je traduirai

Faudra qu'on m'explique, un jour, pourquoi tant de gens s'obstinent à
confondre le futur de l'indicatif et le présent du conditionnel.

Est-ce un signe des temps, l'impression que le futur est incertain ?

par "et toutes les autres choses"

:-D

alala :)

--
nico

Back to top
Michel Michaud
Guest





PostPosted: Tue Oct 25, 2005 3:53 am    Post subject: Re: Je comprends pas cette ligne de code Reply with quote

Dans le message [email]6n5ql1p9gmnj90p83o1iqm8krujqpr0n5e (AT) 4ax (DOT) com[/email],
Fabien LE LEZ <gramster (AT) gramster (DOT) com> a écrit :
Quote:
ect ...

"etc.", en fait (abréviation de "et cetera", qui signifie "et les
autres). Note que "etc" est suivi d'un point (car c'est une
abréviation). Il n'y a pas de points de suspension, car justement
"etc." remplace les points de suspension.

Tant qu'à avoir un cours de français, ajoutons aussi qu'il ne faut
pas répéter « etc. ». (« etc. etc. etc. » est donc fautif, sauf pour
faire une blague à ceux qui savent qu'il ne faut pas le répéter :-)

--
Michel Michaud [email]mm (AT) gdzid (DOT) com[/email]
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Back to top
korchkidu
Guest





PostPosted: Tue Oct 25, 2005 12:26 pm    Post subject: Re: [HS]Re: Je comprends pas cette ligne de code Reply with quote

Fabien LE LEZ wrote:

Quote:
Faudra qu'on m'explique, un jour, pourquoi tant de gens s'obstinent à
confondre le futur de l'indicatif et le présent du conditionnel.
Et moi, il faudra que l'on m'explique pourquoi tant de gens donnent des

cours de Francais avec des phrases bancales...;)

K.
PS: desole pour les fautes de Francais...

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.