I am writing a code in C++ right now, and I have a dilemma.

EDIT: I added the class relevant definition

* ****\_fullName is defined in the class as a private dm(char* \_fullName)***

my class contains the getter method below:

```
char* getFullName() const { return this->_fullName; }

```

However, I had in the past cases in which I returned char\* with const(const char\*)   

I can change the getter method to this one:

```
const char* getFullName() const { return this->_fullName; }

```

Both versions are compiling but I don't know how to choose.
I would take the second version, but I wonder  
 **Why even the version without the const is compiling? shouldn't it give an error when I remove the const keyword, because the function is a CONST member function and therefore the dms are const as well and cannot be returned without the const keyword???**

This is the class relevant definition:

```
class Professional
{
private:
    char* _ID;
    char* _fullName;
    int _age;
    char* _profession;
}

```