原始和智能指针混合函数重载

时间:2016-05-08 21:11:11

标签: c++ pointers c++11 smart-pointers

在我的项目中,我有聪明的原始指针。有些函数需要同时适用于原始函数和智能函数,在函数中我只使用指针上的->=*。我的问题是,如果我有多个参数,我必须写两次或更多次,或者如果我有可以这样做,我可以传递智能和原始指针。我正在考虑一个包装类,如指针或类似的东西。

1 个答案:

答案 0 :(得分:0)

(这个问题会从代码示例中获益很多,但我会尝试回答。)

我建议传递引用 const引用,然后在将参数传递给任何一种指针时使用*运算符功能。

由于你的函数应该使用raw或smart,并且你不明白这是不可能的:D,这对我来说意味着实现不应该对所有权做任何事情。比如,出于某种原因,请复制shared_ptr。这意味着,他们更好地编写参考文献,因为他们不关心所有权。