c ++ const Member-Funktion, die einen const-Zeiger zurückgibt. Aber welcher Typ von const ist der zurückgegebene Zeiger?

Ich entschuldige mich, wenn dies gefragt worden, aber wie erstelle ich eine member-Funktion in c++ wird ein Zeiger in der folgenden scenerios:
1. Der zurückgegebene Zeiger ist konstant, aber die junk-E-darin können geändert werden.
2. Der junk-E-darin ist konstant, aber die zurückgegebenen Zeiger kann geändert werden.
3. Weder junk, noch den Zeiger geändert werden kann.

Ist es so:

  1. int *const func() const
  2. const int* func() const
  3. const int * const func() const

All die tutorials, die ich gelesen habe decken nicht diese Unterscheidung.

Seite beachten:
Wenn meine Methode deklariert const dann die tutorials sagen, dass ich es bin, die besagt, dass ich nicht die Parameter ändern.. Aber dies ist nicht klar genug für mich in dem Fall, wenn ein parameter ist ein Zeiger. Tun meine Parameter müssen wie:

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

Kommentar zu dem Problem
klar, dass const-member funcs haben nichts zu tun mit der änderung der Parameter, sondern mehr über das ändern der class-Variablen. Kommentarautor: Jor

InformationsquelleAutor der Frage Jor | 2010-10-08

Schreibe einen Kommentar