假设我为 type 实现了一些功能Foo
。如果它们是成员函数,VS 将为foo
对象提供它们,但如果我将它们实现为免费/非成员函数,那么我将得不到任何帮助。
foo.doSomething();
//vs
doSomething(foo);
如果它像那么常见normalize(some_vector)
那么没关系,但否则我必须搜索功能。使用许多免费功能的人通常如何解决这个问题?有解决方法吗?将这些函数放入描述性命名空间是个好主意吗?FooFunctions::doSomething(foo);