class myMem{};
class Test{
public:
initMem1(myMem& mInput){/*initialize _mem1*/}
initMem2(shared_ptr<myMem> &pmInput){/*initialize _mem2*/}
myMem _mem1;
shared_ptr<myMem> _mem2;
};
Test myTest;
myTest()
因此,在上面的代碼中,成員屬於一個類。一個成員是一個值類型,另一個成員是shared_ptr類型。對於班級成員來說哪種方式更好?此外,我還有初始化成員的功能。哪種方法更好?直接通過引用傳遞給shared_ptr的好處是,通過引用直接傳遞
一般來說,通過引用傳遞給shared_ptr而不是直接傳遞引用的優點是什麼?
...一個需要你有'shared_ptr'? – GManNickG
這個問題應該是:「通過引用傳遞'shared_ptr'而直接傳遞給'shared_ptr'的優點是什麼?」答案是:它更便宜。 – tkausl
對於編譯器來說,它們都是不同的類型。你不能真正比較蘋果和橘子。 **'測試**和**'shared_ptr **不一樣*參考類型*。至於從後者獲得前者的性能成本,其可能僅僅是額外間接成本。但後者提供了更多的信息 –
WhiZTiM