In addition to information given by @DavidHT you could use a more explicit constructor that also receives the size and thus avoid a strlen operation on the given string.
String bar(foo.c_str(), foo.size()); //<- Might get a warning about truncated integer types on x64 since std::string::size yields a size_t value and Urho3D::String uses unsigned int. Just a heads up.
Btw I never understood complains about redundant strlen in such places.
You are already copying this string, you have to traverse N bytes to copy it. For small strings within few cache lines one extra data traversal doesn’t change anything.