Suppose this:

```
class A
{
    public:
        A(int x) : m_someDataMember(x) {}
        ~A() {}
        int& someMethod(){ return m_someDataMember; }

    private:
        int m_someDataMember;
};

class B
{
    public:
    B(){}
    ~B(){}
    void anotherMethod(int& someInt){ /*...*/}
};

```

Now in main,

```
int main(/*..*/)
{
    A a(5);
    B b;
    b.anotherMethod(a.someMethod());
}

```

My question being, what is exactly being received in `anotherMethod()`? Is it the memory address itself of `m_someDataMember` from object a, or the memory address of a copy of `m_someDataMemeber` returned by `a.someMethod()`?

EDIT: Corrected typo, missing `&` in `int& someMethod()`