Petite question a propos des namespaces - C++ - Programmation
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
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
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é ? |
ca n'existe pas en C (ou alors ça a été rajouté dans une dernière norme que j'ai pas vu passer )
C pas pareil par ce que les namespace peuvent englober plusieurs header et des cpp.
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...
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. |
D'un autre côté le concept de namespace en C++ est moin bien pensé (ou peut être aprofondi) qu'en java.
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.
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
Marsh Posté le 27-05-2003 à 15:54:48
ReplyMarsh Posté le 27-05-2003 à 15:56:53
++Taz a écrit : |
Pkoi j'étais sur qu'il allait trouver un moyen de me contredire lui
Et une vrai traduction litéral c "espace de nom" d'abord
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