Some doubts relating to the standard token contract and various constructs used


Hi everyone. While trying to understand the standard token contract provided by the eos, I came across few doubts related to the programming constructs used, which seem to be a part of standard EOS library and may be used in building other contracts too. So there is a list of my doubts which I think newbies like myself will come across while starting developing on EOS:

  1. Distinction between _n, name and ,N()

  2. How does multi Index table connect with the EOS memory? For eg if we instantiate a table of the same type in different functions, does they point to the same memory store in the EOS memory?

  3. From where does the _self variable comes? Is it related to the get_self() function?

  4. What is the relationship between the RAM payer and the owner.

  5. What is the role of has_auth() function? Is it related to the require_auth() function?