Hello, I am still fighting with C++ references! Lets say we have this:

Qt Code:
  1. class Foo {
  2.  
  3. public:
  4. Foo(Bar& b);
  5.  
  6. private:
  7. Bar m_bar;
  8. };
  9.  
  10. Foo::Foo(Bar& b) : m_bar(b) {}
To copy to clipboard, switch view to plain text mode 

  1. Should the constructor better have the parameter as value instead of reference?
  2. Since I am using the constructor initialization list, would there be a performance difference?
  3. Would there be a semantic difference? e.g., to the caller of new Foo


Thank you again