Я в основном присваиваю значение const char * строке. Я проверяю условие и устанавливаю, чтобы строка была пустой как значение по умолчанию.Есть ли опасность присвоить const char * строке?
В параметризованном конструктору я устанавливаю строку пустых следующий
ClassName:: ClassName(X x, string name):X(x), name(){}
Я поставил строку пустой раз я сделал, используя его в качестве
name="";
ли вышеописанный подход правильной инициализации?
Также существует ли риск присвоить const char * строке?
const char* diag;
string name;
name= diag;
'name =" ";' избыточно. _ «Также существует ли риск присвоить const char * строке?» _ № –
Нет, нет никакого риска. 'string' использует' const char * 'в качестве ссылки. –
Вы должны прочитать о std :: string - в частности, [string :: operator =] (http://www.cplusplus.com/reference/string/string/operator=/). При назначении массива char для строки он копирует его в строку, как на этой странице. Таким образом, это безопасно, если char * имеет нулевое завершение. –