c ++ const member-Funktion, die einen const-Zeiger zurückgibt. Aber welche Art von const ist der zurückgegebene Zeiger?

Ich entschuldige mich, wenn dies gefragt wurde, aber wie erstelle ich eine Member-Funktion in c ++, die einen Zeiger in den folgenden Szenarien zurückgibt: 1. Der zurückgegebene Zeiger ist konstant, aber der Junk-Inhalt kann geändert werden. 2. Der Junk-Inhalt ist konstant, der zurückgegebene Zeiger kann jedoch geändert werden. 3. Weder der Müll noch der Zeiger können geändert werden.

Ist es so:

int *const func() const
const int* func() constconst int * const func() const

Alle Tutorials, die ich gelesen habe, behandeln diese Unterscheidung nicht.

Side note: Wenn meine Methode als const deklariert ist, wird in den Tutorials angegeben, dass ich die Parameter nicht ändern werde. Dies ist mir jedoch nicht klar genug, wenn ein Parameter ein Zeiger ist. Müssen meine Parameter wie folgt lauten:

ein.void func(const int* const x) const;
b.void func(const int* x) const;
c.void func(const int* const x) const;

Antworten auf die Frage(10)

Ihre Antwort auf die Frage