title: C++ Operator Precedence with function pointer
body: <pre><code>class EventListener
  {
  public:
    const char* getName() { return name; }
    EventListener();
    EventListener(const string&amp; n);
  
    void addTime(CrChkTime t) { time += t; }
    void resetTime() { time = 0; }
    CrChkTime getTime() { return time; }
  
  private:
    virtual void dummy() {}
  
    const char* name;
    CrChkTime time;
  };
  
  typedef void (EventListener::*ftOnEventClass)(int kind, int param1, void* param2, bool&amp; ret);
  
  typedef struct _eventNode
    {
      /** For c handlers */
      ftOnEvent function;
      /** For c++ handlers */
      ftOnEventClass functionClass;
      /** Handle */
      EventListener* handle;
  
      /*...constructors...*/
  } EventNode;
  
  vector&lt;vector&lt;EventNode *&gt;&gt; m_vEventHandlerList;
  for(auto&amp; iter : m_vEventHandlerList[kind])
  {
      if(iter-&gt;handle != nullptr)
      {
           (iter-&gt;handle-&gt;*(iter)-&gt;functionClass)(kind, param1, param2, ret);
      }
  }
  </code></pre>
  
  <p>so,</p>
  
  <pre><code>(iter-&gt;handle-&gt;*(iter)-&gt;functionClass)(kind, param1, param2, ret);
  </code></pre>
  
  <p>is function call and working code.
  (and it might be a  function pointer)</p>
  
  <p>please can you describe me with Operator Precedence of next expression?</p>
  
  <pre><code>(iter-&gt;handle-&gt;*(iter)-&gt;functionClass)
  </code></pre>
  
  <p>iter->handle and.. next? i cannot follwing the code.</p>
  
  <p>(I want a description like <a href="https://stackoverflow.com/a/27283893/3818785">https://stackoverflow.com/a/27283893/3818785</a> this)</p>