Когда использовать const char * и когда использовать const char []

Я знаю, что они разные, я знаю, чем они отличаются, и я прочитал все вопросы, которые смог найти относительно char * vs char []

Но все эти ответы никогда не говорят, когда их следует использовать.

Итак, мой вопрос:

Когда вы используете

const char *text = "text";

, а когда -

const char text[] = "text";

Есть ли какое-либо руководство или правило?

В качестве примера, какое из них лучше:

void withPointer()
{
    const char *sz = "hello";
    std::cout << sz << std::endl;
}

void withArray()
{
    const char sz[] = "hello";
    std::cout << sz << std::endl;
}

(I знать std :: string также можно, но я хочу знать об указателе / ​​массиве char )

43
задан Nikko 26 October 2011 в 13:54
поделиться