Почему временный объект создан, когда у нас есть константная ссылка? и почему у нас есть const ref в конструкторе копирования?
String::String(const String& old_str) { size = old_str.size; s = new char[size+1]; strcpy(s, old_str.s); }