我有一个类,它有一个构造函数,它接受一个const char*
. 这是:
c::c(const char* str) {
a = 32;
f = 0;
data = new char[strlen(str)];
memcpy(data, str, strlen(str));
}
以及一个采用其中之一的函数:
int foo(c& cinst);
你可以通过传递一个 a 的实例来调用这个函数c
:
c cinst("asdf");
foo(cinst);
或者,因为我们有明确的初始化,你可以这样做:
foo("asdf");
这将c
通过传递构造函数“asdf”来生成 a,然后将生成的对象传递给foo
.
但是,这似乎比仅重载foo
获取const char*
. 是否值得为速度超载,或者性能影响如此之小以至于超载浪费空间?我试图让我的程序尽可能快,所以速度是一个重要因素,大小也是一个重要因素,但不是那么多。