Do I really need care about this? I really hoped that I can just not bother wrapping things in std::move and let the compiler figure it out?
I.e. if I have
```
std::string a = "hi";
std::string b = "world";
return {a, b}; // std::pair
```
I always assumed the compiler figures out that it can move these things?
If not, why not?
My ide tells me I should move, surely the compiler has more context to figure that out?
I.e. if I have
``` std::string a = "hi"; std::string b = "world"; return {a, b}; // std::pair ``` I always assumed the compiler figures out that it can move these things?
If not, why not? My ide tells me I should move, surely the compiler has more context to figure that out?