を受け取るコンストラクターを持つクラスがありますconst char*
。それは:
c::c(const char* str) {
a = 32;
f = 0;
data = new char[strlen(str)];
memcpy(data, str, strlen(str));
}
そして、それらの1つを取る関数:
int foo(c& cinst);
この関数は、次のいずれかのインスタンスを渡すことによって呼び出すことができますc
。
c cinst("asdf");
foo(cinst);
または、明示的な初期化があるため、次のことができます。
foo("asdf");
c
コンストラクター「asdf」を渡すことで を作成し、結果のオブジェクトを に渡しますfoo
。
ただし、これは、単にオーバーロードfoo
してconst char*
. 速度のためにオーバーロードを行う価値はありますか、それともパフォーマンスへの影響が小さすぎて、オーバーロードを行うのはスペースの無駄ですか? 私は自分のプログラムをできるだけ速くしようとしています。そのため、速度は重要な要素であり、サイズも重要ですが、それほど重要ではありません。