title: Does static member need to be copied in copy constructor and if yes, how to do it?
body: <p>I have a class with a container that is declared static: </p>
  
  <pre><code>class test {
  
  public: 
    test(const ClassA&amp; aRef, const std::string&amp; token); 
    test(const test&amp; src); 
    ~test();
  
  private: 
    ClassA&amp; m_ObjRef;
    static std::vector&lt;std::string&gt; s_toks; 
  };
  </code></pre>
  
  <p>The s_toks container is initialized as follows in the constructor defined in test.cpp: </p>
  
  <pre><code>std::vector&lt;std::string&gt; test::s_toks; 
  
      test::test(const ClassA&amp; aRef, const std::string&amp; token) 
         : m_ObjRef(aRef)
      {
         my_tokenize_function(token, s_toks);
      }
  
      test::test(const test&amp; src)
         : m_ObjRef(src.m_ObjRef)
      {   
         /* What happens to s_toks; */
      }
  </code></pre>
  
  <p>If I do not copy s_toks, and s_toks is accessed from the new copied object, it is empty. What's the correct way to handle this? </p>