1

私は最近、小さな MCF C++ アプリケーションを取り入れましたが、これは明らかに動作状態にあります。始めに、コード上で PC-Lint を実行しています。lint は、CStringT が Format に渡されていると不平を言っています。ネット上では意見が分かれているようです。CSting はこのユース ケースをエラーなしで処理するように設計されていると言う人もいれば、可変引数関数に渡されるときは常にキャストする必要があると言う人もいます (およびMSDN の記事) 。Stackoverflow はこの問題について合意に達することができますか?

4

1 に答える 1

3

CStringは、可変引数リストの一部として渡されるように注意深く設計されているため、そのように使用しても安全です。そして、Microsoftがこの特定の動作を壊さないように注意することをかなり確信で​​きます。ですから、必要に応じて、そのまま使用し続けても安全だと思います。

そうは言っても、個人的にはキャストが好きです。文字列クラスがそのように動作することは一般的な動作ではなく(たとえば、std :: stringは動作しません)、精神的な一貫性のために、単に「安全な」方法で実行する方がよい場合があります。

PS:実装の詳細とキャスト方法に関する詳細については、このスレッドを参照してください。

于 2009-05-29T06:16:16.443 に答える