この質問は他のものと重複しているかもしれませんが、この変更を行う前に私が正しいと確信したいので、ここで尋ねます。C++ - TCHAR配列が空であることを確認してください
if(NULL== m_sLogPath || _tcsicmp(m_sLogPath, trace_path)!=0){//code here}
I:
TCHAR m_sLogPath[MAX_LOGPATH_LEN];
配列が初期化され、使用されたが、しばらくして、このチェックがあるされているコードの行があります:私は維持しています古いプロジェクトでのコード行がありますm_sLogPathが空であるかどうかを調べるif if文がNULLであるかどうかを推測します。== m_sLogPathは、NULLと配列を比較する意味のないチェックです。私はNULL == m_sLogPathピースを削除する必要があるつもりですが、私の質問は、代わりに配列が空であることを確認する必要がありますか?すべての回答と助けてくれてありがとう
あなたは「しばらく」と言うとき、あなたはまだm_sLogPathを直接扱っているか、それがどの時点で引数として渡されましたか? – sji
おそらくそれを書いた人は、スタック割り当てに関するただのパラノイアです:) –
それは元の配列(それが引数として渡された後になるでしょう)へのポインタならば、それは非常に有効なチェックです。 – sji