GoogleTechTalks video on Youtubeでは、Bjarne Stroustrupは今後のC++ 0x標準について語ります。ビデオの中で彼は次の例を挙げ:C++の 'explicit'キーワードの使用例は正しいですか?
#include <iostream>
struct Sick
{
Sick(double d) { std::cout << d << "\n"; }
explicit Sick(int i) { std::cout << i << "\n"; }
};
int main()
{
Sick s1 = 2.1;
Sick s2(2.1);
}
彼は、特定のコンテキストで暗黙の型変換に関連する問題を強調するために、Sick(double)
はなくSick(int)
前explicit
キーワードを配置することを意味しましたか?彼の議論で
youtubeビデオの誰かがどういう意味を知っていると思いますか?重要なことは、この例では 'explicit'の使用を理解していることです。 –
この例で何を表示したいかによってどちらかが合理的でしょう。 – Flexo
@Kerrek SB、あなたは彼が意味していたことを伝えようとしているので、彼が何を意味していたのかを知っていると思われます。 – ikegami