我正在用C++编写一个库,并且有一些可以与模块一起使用的函数。示例如下:
void connect(Module *a, Module *b);
问题是,如果接受的函数也引用(一些模块可能在堆栈上分配,一些在堆上分配,所有的&;s和*s很快就会变得无聊和混乱),有时会很方便。
现在我有了内联函数,它接受引用,将它们转换为指针,并调用原始函数。
inline void connect(Module &a, Module &b){
connect(&a, &b);
}
我不太喜欢这个解决方案,因为对于更多的几个函数来说,它会产生大量的代码来编写、读取、编译。。。
我们正在考虑的另一件事是添加Module::operator Module*()
,它将返回this
。
你对此有什么想法?难道没有任何我错过的巨大失败的可能性吗?
谢谢