私はC++でWindows COMをプログラミングしています。多くの関数に接頭辞::
が付いているので、グローバル名前空間のバージョンが呼び出されています。何故ですか?C++のWindows COMプログラミングで、非常に多くのメソッドがグローバルな名前空間に明示的に解決されているのはなぜですか?
名前空間との競合があるかもしれないと私は理解していますが、すべての機能が今や明示的に解決されなければならないような、
wStrLen = ::SysAllocStringLen(NULL, wStr);
::SysFreeString(str);
::CoTaskMemFree(item);
そして他の多く:ここ
は、いくつかの私がよく見る例です。
プログラマが明示的に名前空間を解決することを選んだ理由は私だけパズル、なぜ彼らは書いていない:
wStrLen = SysAllocStringLen(NULL, wStr);
SysFreeString(str);
CoTaskMemFree(item);
任意のアイデア?
私のチームのコードで見ています。答えをありがとう! – bodacydo
このようなチームコーディングガイドラインは珍しくありません。実際の問題に関連することは少なく、ちょうど "これが私たちのやり方です!"読みやすさは重要です。あなたはそれに従わなければなりません。 –