First; am I mistaken to assume that the `this` keyword is a **pointer** to the instance of the object I am working with, not a copy?

So if I had:

```
class someClass {
private:
    int _number;
public:
    someClass method(int number) {
        _number = number;
        return this;
    }
};

```

I would be returning a pointer to that instance?

If that is the case, how can I return a copy of that instance? I found a way but I think it's extremely awkward.

```
class someClass {
private:
    int _number;
public:
    someClass method(int number) {
        _number = number;
        someClass someClassObj;
        someClassObj._number = number;
        return someClassObj;
    }
};

```