- 当智能指针作为函数形参时,在调用此函数时,形参代表的智能指针的引用计数将+1,同时退出此函数时,该形参的引用计数将-1.
当形参不是智能指针时,调用该函数和退出该函数时,该形参的引用计数不会变化:
- 当函数的内部创建一个智能指针,并需要在函数外使用时,此时,函数的返回值必须为该智能指针类型(即函数内创建的智能指针退出该函数时,引用计数不会-1),否则,当函数体执行结束时,该智能指针引用计数-1,如果此时其引用计数为0,则其内存就直接释放了,外界无法使用它。
如果函数返回类型不为该智能指针类型,其结果为:
即,此时内存已释放,无法使用该内存的变量!!