foo
次のように定義された 2 つのコンストラクターを持つクラスを考えてみましょう。
class foo
{
public:
foo(const std::string& filename) {std::cout << "ctor 1" << std::endl;}
foo(const bool some_flag = false) {std::cout << "ctor 2" << std::endl;}
};
文字列リテラルを使用してクラスをインスタンス化し、どのコンストラクターが呼び出されるかを推測しますか?
foo a ("/path/to/file");
出力:
セクター2
私はあなたのことを知りませんが、プログラミングの歴史の中で最も直感的な動作だとは思いません. それには何か賢い理由があるに違いないのですが、それが何であるかを知りたいですか?