Как задать строку в C++?
==========================

 Я недавно начал изучать С++ и нашел два способа определить строку: через массив, и через переменную при помощи string. Так вот, что из них лучше? 

`string s = "abc";`  

Для новичка — только string, чтобы избежать танцев по граблям. 

 Очень зависит от решаемой задачи. Как правило, неплохо подходит std::string.  

Но если вам нужно работать с текстом в utf-8, начинаются интересные нюансы.  

  

Использовать для строк массивы - это подход из языка C. Он годится в тех редких случаях, когда у вас, например, максимальная длина строки ограничена и подобных. В общем случае, если вы начнете использовать для строк массивы, вы просто заново напишите плохо отлаженную, неоптимальную, и едва ли хорошо оттестированную реализацию std::string еще раз. 

 Если вы работаете со строками в С++ - то вы либо пишете низкоуровневые утилиты - а значит, должны без проблем суметь найти и использовать библиотеку работы с UTF-8, либо пишете десктопное приложение на фреймворке, в котором стопудово уже есть реализация строки, работающая с юникодом, и ничего другого вам не нужно.