Can/Pourquoi utiliser des char * au lieu de const char * dans le type de retour de provoquer des plantages?

J'ai lu quelque part que si vous voulez un C/C++ la fonction pour retourner un tableau de caractères (par opposition à std::string), vous devez retourner const char* plutôt que de char*. Faire le dernier peut causer la panne du programme.

Quelqu'un être capable d'expliquer si cela est vrai ou pas? Si c'est vrai, pourquoi retourner un char* à partir d'une fonction si dangereux? Merci.

const char * my_function()
{
    ....
}

void main(void)
{
    char x[] = my_function();
}
InformationsquelleAutor Andy | 2009-09-14