Umfang der Verwendung der Deklaration in einem Namespace

Ist es sicher (und korrekt) in einer C++ - header-Datei verwenden Sie die using-Deklaration in einen namespace wie folgt:

#include <boost/numeric/ublas/vector.hpp>
namespace MyNamespace {
    using boost::numeric::ublas::vector;
    vector MyFunc(vector in);
}

I. e. ist die "Verwendung von boost::numeric::ublas::vector" ordnungsgemäß innerhalb der MyNamespace block, oder wird das verschmutzen der namespace eine Datei, die diese header?

Kommentar zu dem Problem - Öffnen
Was genau meinst du mit "den namespace eine Datei"? Es wird "verschmutzen" die MyNamespace - namespace in einer übersetzung Einheit, die vom Punkt der Deklaration der mit der Erklärung ab. Kommentarautor: CB Bailey
für ein einzelnes symbol... warum gehst du nicht mit einem typedef ? Kommentarautor: Matthieu M.
@Matthieu: Da boost::numeric::ublas::vector ist eine Vorlage. Ich war bisher mit dem standard "Vorlage " typedef" Abhilfe (stackoverflow.com/questions/26151/...), sondern wollte, um die Dinge zu vereinfachen ein bit. Kommentarautor: Brett Ryland
argh! In C++0x, Sie haben Möglichkeiten, um alias-templates... allerdings müssen Sie deklarieren alle Argumente, die Sie verwenden möchten, aber sonst sind Sie Art stecken, denke ich. Kommentarautor: Matthieu M.

InformationsquelleAutor der Frage Brett Ryland | 2011-05-30

Schreibe einen Kommentar