Espaces de noms
Variantes
Affichages
Actions

Namespaces

De cppreference.com
< cpp‎ | language

 
 
Langage C++
Sujets généraux
Contrôle de flux
Instructions conditionnelles
Instructions d'itération
Instructions de saut
Fonctions
déclaration de fonction
expression lambda
fonction générique
spécificateur inline
spécification d'exception (obsolète)
spécificateur noexcept (C++11)
Exceptions
Espaces de noms
déclaration d'espace
Types
spécificateur decltype (C++11)
Qualificatifs
qualificatifs const et volatile
qualificatifs de stockage
qualificatif constexpr (C++11)
qualificatif auto (C++11)
qualificatif alignas (C++11)
Initialisation
Littéraux
Expressions
opérateurs alternatifs
Utilitaires
Types
déclaration typedef
déclaration d'alias de type (C++11)
attributs (C++11)
Jette
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
conversions implicites
conversion const_cast
conversion static_cast
conversion dynamic_cast
conversion reinterpret_cast
conversions style C et style fonction
Allocation de mémoire
Classes
Qualificatifs spécifiques aux membres de classe
Fonctions membres spéciales
Modèles
classes génériques
fonctions génériques
spécialisation de modèles
paquets de paramètres (C++11)
Divers
Assembleur
 
Espaces de noms fournir un procédé pour éviter les conflits de noms dans les grands projets .
Original:
Namespaces provide a method for preventing name conflicts in large projects.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Symboles déclarées à l'intérieur d'un bloc d'espace de noms sont placés dans un champ nommé qui les empêche d'être confondus avec des symboles de noms identiques dans d'autres portées .
Original:
Symbols declared inside a namespace block are placed in a named scope that prevents them from being mistaken for identically-named symbols in other scopes.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Multiples déclarations d'espaces de noms avec le même nom sont autorisés, ce qui entraîne un espace de noms, y compris tous les symboles de toutes ces déclarations .
Original:
Multiple declarations of namespaces with the same name are allowed, resulting in a namespace including all symbols from all such declarations.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Sommaire

[modifier] Syntaxe

namespace ns_name { declarations } (1)
inline namespace ns_name { declarations } (2) (depuis C++11)
ns_name::name (3)
using namespace ns_name; (4)
using ns_name::name; (5)

[modifier] Explication

# Déclaration du name espace de noms .
Original:
# Declaration of the namespace name.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Déclaration de l'# name espace de noms. Définitions apparaîtra name l'intérieur à la fois, et son espace de noms entourant
Original:
# Declaration of the namespace name. Definitions will appear both inside name and its enclosing namespace
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
# Standard façon d'accéder aux contenus espace de noms .
Original:
# Standard way of accessing namespace content.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
# Faire tous les symboles d'un espace de noms accessible dans le champ d'application de la directive using .
Original:
# Making all symbols of a namespace accessible in the scope of the using directive.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
# Faire un des symboles spécifiques d'un espace de noms accessible dans le champ d'application de la directive using .
Original:
# Making a specific symbols of a namespace accessible in the scope of the using directive.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Exemple

Cet exemple montre comment utiliser un espace de noms pour créer une classe qui a déjà été nommé en l'espace de noms std .
Original:
This example shows how to use a namespace to create a class that already has been named in the std namespace.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <vector>
 
namespace vec {
 
    template< typename T >
    class vector {
        // ...
    };
 
} // of vec
 
int main()
{
    std::vector<int> v1; // Standard vector.
    vec::vector<int> v2; // User defined vector.
 
    v1 = v2; // Error: v1 and v2 are different object's type.
 
    {
        using namespace std;
        vector<int> v3; // Same as std::vector
        v1 = v3; // OK
    }
 
    {
        using vec::vector;
        vector<int> v4; // Same as vec::vector
        v2 = v4; // OK
    }
 
    return 0;
}


[modifier] Voir aussi

alias d'espace de noms
crée un alias d'un espace de noms existant
Original:
creates an alias of an existing namespace
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]