Petite question a propos des namespaces

Petite question a propos des namespaces - C++ - Programmation

Marsh Posté le 27-05-2003 à 09:27:33    

ca veut dire quoi ?
 
parce que je croyais que c'était juste en C++ mais ce semestre (étudiant en maîtrise info) on a travaillé avec une librairie d'un prof pour faire de l'opengl et quand je compilais avec gcc je me prenais tout un tas de warning comme quoi il y avait des namespaces non portable.
 
si qqun voulait bien m'éclaircir sur ce qu'un un namespace  :)

Reply

Marsh Posté le 27-05-2003 à 09:27:33   

Reply

Marsh Posté le 27-05-2003 à 09:34:50    

Traduction littérale: espace de nomage.
 
En gros ça te permet de rassembler des objets et/ou des fonctions qui ont un point commun souvent conceptuel (par exemple tu va typiquement mettre tous ce qui a un raport avec les maths dans un namespace maths). Ca a le double avantage d'organiser un peu les choses et d'éviter les collisions de noms (tu peux très bien avoir de classe ayant le même nom mais dans des namespace différents sans que ça pose de problème).
 
Je sais pas si je suis clair?
 
Et surtout si je répond bien à tes intérogations :D


Message édité par LetoII le 27-05-2003 à 09:38:32

---------------
Le Tyran
Reply

Marsh Posté le 27-05-2003 à 09:45:27    

et ca existe en C (pas ++) ou c'est moi qui ai rêvé ?
 
et c'est encore flou le coup des namespaces. comme ca a première vue je me dis que c'est l'équivalent d'un math.h mais qque chose me dit que c totalememnt différent  [:yes papa !!!]

Reply

Marsh Posté le 27-05-2003 à 09:47:40    

xav14 a écrit :

et ca existe en C (pas ++) ou c'est moi qui ai rêvé ?
 
et c'est encore flou le coup des namespaces. comme ca a première vue je me dis que c'est l'équivalent d'un math.h mais qque chose me dit que c totalememnt différent  [:yes papa !!!]  


 
ca n'existe pas en C (ou alors ça a été rajouté dans une dernière norme que j'ai pas vu passer :D)
 
C pas pareil par ce que les namespace peuvent englober plusieurs header et des cpp.


---------------
Le Tyran
Reply

Marsh Posté le 27-05-2003 à 12:43:09    

C'est un peu le même principe que les packages Java ou Ada. Cela permet de rassembler dans une entité logique unique un ensemble de déclarations, de classes, etc.
 
Ceci dit, je trouve que le terme de "package" est plus facile à comprendre que le terme d'"espace de nommage". Les normalisateurs de C++ n'ont pas été très inspirés sur ce coup-là, je trouve...

Reply

Marsh Posté le 27-05-2003 à 12:47:38    

BifaceMcLeOD a écrit :

C'est un peu le même principe que les packages Java ou Ada. Cela permet de rassembler dans une entité logique unique un ensemble de déclarations, de classes, etc.
 
Ceci dit, je trouve que le terme de "package" est plus facile à comprendre que le terme d'"espace de nommage". Les normalisateurs de C++ n'ont pas été très inspirés sur ce coup-là, je trouve...


 
D'un autre côté le concept de namespace en C++ est moin bien pensé (ou peut être aprofondi) qu'en java.


---------------
Le Tyran
Reply

Marsh Posté le 27-05-2003 à 14:49:05    

Oui, car il n'y a pas les règles de visibilité qu'on trouve dans les packages.

Reply

Marsh Posté le 27-05-2003 à 14:52:27    

BifaceMcLeOD a écrit :

Oui, car il n'y a pas les règles de visibilité qu'on trouve dans les packages.


 
C exactement de ça que je voulais parler ;)


---------------
Le Tyran
Reply

Marsh Posté le 27-05-2003 à 15:54:48    

LetoII a écrit :

Traduction littérale: espace de nomage.


 
 :non: référentiel lexical

Reply

Marsh Posté le 27-05-2003 à 15:56:53    

++Taz a écrit :


 
 :non: référentiel lexical


 
Pkoi j'étais sur qu'il allait trouver un moyen de me contredire lui :D
 
Et une vrai traduction litéral c "espace de nom" d'abord :D :kaola:


---------------
Le Tyran
Reply

Marsh Posté le 27-05-2003 à 15:56:53   

Reply

Marsh Posté le 27-05-2003 à 19:10:14    

:jap: pour les réponses

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed