私は基本的にconst char *値を文字列に割り当てています。 私は条件をチェックし、文字列をデフォルト値として空に設定しています。文字列にconst char *を割り当てる危険性はありますか?
name="";
は、上記のアプローチであるので、私はそれを使用して行われていたら、私は空の文字列を設定し
ClassName:: ClassName(X x, string name):X(x), name(){}
を次のように私は空に文字列を設定していますパラメータ化コンストラクタで
初期化の正しい?
また、const char *を文字列に割り当てる危険性はありますか?
const char* diag;
string name;
name= diag;
'name =" ";'は余計です。 _ "const char *を文字列に割り当てるリスクもありますか?" _ No. –
いいえ、リスクはありません。 'string'はその参照として' const char * 'を使います。 –
std :: string - 具体的には、[string :: operator =](http://www.cplusplus.com/reference/string/string/operator=/)を参照してください。文字列にchar配列を代入すると、それはそのページのように文字列にコピーされます。したがって、char *がnullで終わる限り、安全です。 –