有人可以为此建议一个更好的标题吗?
我有一个问题,但我不知道如何用正确的英语表达。所以我会通过一些例子来问它:
假设我有一个名为 Double 的结构:
struct Double
{
// Declarations/Definitions here
}
它被用作主要类型的替身。几乎完全一样,除了我的班级有一些功能,比如:
void Double::event_serialize(Stream& stream);
String Double::event_representate();
所以我必须为这种类型(和其他类型)创建一个包装器。
现在我有一个这样的功能,例如:
template<class T> void print(T value)
{
std::cout << value.event_representate() << std::endl;
}
现在我可以将它用作一个组合,例如:
Double x = 3.14;
print(x);
但是,如果我想将其用作:
print(3.14);
编译器将执行以下操作:
const double __invis_value_1 = 3.14;
print(__invis_value_1);
正确的?
我如何确保(如果可能)编译器会将其检测为 Double 而不是主要类型 double?
我希望有人可以帮助我。提前致谢!