Я знаю, что они разные, я знаю, как они разные, и я читал все вопросы, которые я мог найти относительно 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;
}
(Я знаю, что std::string
также является опцией, но я специально хочу знать о char
указателе/массиве)