Ich habe durch andere Fragen hier gelesen und es gibt etwas, das mich verwirrt hat und hoffentlich kann es erklärt werden. Ich bin sicher, dass es eine einfache Sache ist, aber es spielt auf mich an.Unbenannte Namespaces vs private Variablen
So in C++ wir private Variablen, die in der Klasse nur sichtbar sind:
class MyClass
{
private:
int i;
};
Aber wir können auch unbenannte Namensräume:
namespace
{
int i;
}
Sowohl die Klasse als privat erscheinen, aber Im zweiten Fall können Sie nicht sehen, dass sie aus der Header-Datei existieren. Beim Lesen anderer Fragen scheint es, dass Funktionen anders sind, da Sie keine Klassenobjekte an sie übergeben können. Aber ich bin mir nicht sicher, was hier für Variablen der Unterschied ist.
Gibt es einen Nachteil für den zweiten Weg, das heißt, Sie sollten immer noch private Variablen verwenden?
Das ist ziemlich offensichtlich, jetzt erklären Sie es. Ich wusste, dass sie in einigen Fällen der Statik vorgezogen wurden, aber diese beiden Aussagen waren aus irgendeinem Grund nicht in meinem Kopf zusammen :-) Danke – Firedragon