What is difference between these function signatures?
void func(const std::shared_ptr<TestStruct>& ts) {...}
void func(std::shared_ptr<TestStruct> const& ts) {...}
void func(std::shared_ptr<TestStruct> &const ts) {...}
What is difference between these function signatures?
void func(const std::shared_ptr<TestStruct>& ts) {...}
void func(std::shared_ptr<TestStruct> const& ts) {...}
void func(std::shared_ptr<TestStruct> &const ts) {...}