Devo devolver std :: strings?

Estou tentando usarstd::string ao invés dechar* sempre que possível, mas eu me preocupo com a possibilidade de degradar muito o desempenho. Essa é uma boa maneira de retornar strings (sem verificação de erros por brevidade)?

<code>std::string linux_settings_provider::get_home_folder() {
    return std::string(getenv("HOME"));
}
</code>

Além disso, uma questão relacionada: ao aceitar strings como parâmetros, devo recebê-los comoconst std::string& ouconst char*?

Obrigado.

questionAnswers(12)

yourAnswerToTheQuestion