我希望能够做到这在C++标准的编译器:C++重写地址操作
void DoSomething(Object* object) { }
DoSomething(&Object())
具有默认地址操作,它会为该构造对象保存到一个寄存器,然后将其覆盖在DoSomething()...对于所有对象在一行中执行此操作真的很好(除了不能覆盖它们的基本类型)。
因此,这里是我有:
class Object
{
public:
Object* operator&(Object object) { return &object; }
};
这显然只是不能够指定我想基本&运营商,而不是被覆盖的一个重复循环。当我打电话给DoSomething时(& Object()),它也不会被调用。这可能吗?它会使复杂类型的初始化更容易,所以它很重要。
这将是一件非常残酷的事情!为什么它会让事情变得更简单? –
这不会将地址返回给临时吗? Sehr不好。 –
是的,我猜这不会改变什么,仍然是暂时的。哦,我猜想在堆栈上初始化一个复杂的对象结构会很痛苦,然后 –