namespace als friend möglich?
-
Hallo Leute,
kann man in einer Klasse elegant alle Funktionen aus einem gewissen Namespace als friend auszeichnen ohne jede einzeln anzugeben wie z.B. hier:
namespace functions { void foo1() {...} void foo2() {...} ... } class A { friend functions::foo1(); friend functions::foo2(); ... }Gruß

-
Nein. Das ergibt auch keinen Sinn, weil Namespaces jederzeit erweitert werden können. Man könnte sich also ohne Probleme friend-Status erschleichen.
-
Schade, in diesem Fall wäre das sogar erwünscht gewesen

-
MatheStein schrieb:
Schade, in diesem Fall wäre das sogar erwünscht gewesen

Das klingt mir aber so, als ob du da etwas äußerst Merkwürdiges vorhast...
-
Wenn sich jeder Zugriff zu deinen privaten Details verschaffen kann, warum sind sie dann überhaupt private? Mach sie doch public.
-
Bashar schrieb:
Wenn sich jeder Zugriff zu deinen privaten Details verschaffen kann, warum sind sie dann überhaupt private? Mach sie doch public.
Naja, sofern das Zugriffverschaffen eine bewusste Handlung voraussetzt, finde ich das jetzt grundsätzlich weniger schlimm. Nenn den Namespace halt "makes_private_members_public_dont_use" oder sowas. Wer das dann trotzdem macht, sollte wohl auch wissen, was er da tut und muss evtl. mit dem Fallout leben.
Sinnvoll finde ich das ganze aber immer noch nicht und schließe mich deinem Ratschlag an: wenn es einen guten Grund dafür gibt, außerhalb der Klasse auf die Member zugreifen zu können, mache sie public.