入力const文字列が何らかの方法で変更されている場合(Cコンパイラの警告が発生します)、それを処理するための最良の方法は何ですか?新しい変数に型キャストしてから使用するか、複製して使用してから解放します。または、このタイプのシナリオを処理する他の方法はありますか。提案してください。どんな助けでもいただければ幸いです。
//型キャスト
const char * s1;
char * s2 = (char *)s1;
//複製して無料
const char * s1;
char * s2 = strdup( s1 );
free(s2)
編集:それはCコンパイラです。C++ではありません。型キャストで、s2が文字列s1の新しいコピーになるのか、それとも元の文字列s1を指すのかわかりません。
答えてくれてありがとう。もう1つ疑問があります-
const char * c1;
const char * c2 = c1;
上記の割り当ては有効ですか?