首页IT科技jni返回指针(值返回和指针返回简说)

jni返回指针(值返回和指针返回简说)

时间2025-06-14 22:02:32分类IT科技浏览3779
导读:值返回和指针返回简说 好吧,这是常识,我说快点。 C ﹡ c = get_c( ; 这是指针返回。 C c =...

值返回和指针返回简说

好吧            ,这是常识                  ,我说快点            。 C ﹡ c = get_c(); 这是指针返回                  。 C c = get_c(): 这是值返回      。 指针返回的缺点是      ,你必须检测返回指针的有效性         ,也就是NULL         。并且                  ,你需要手工管理指针释放                  。而优点则是避免了值拷贝         ,还有可以返回空值      ,即通过返回NULL表示没有值的情况         。 而引用返回最大的优势在于                  ,变量的生存周期和作用域相同            ,你无需管理释放问题      。然而缺陷就是庞大的拷贝开销                  。 在get_c返回的时候   ,会return一个对象            。这个对象是子函数作用域对象(sub function scope)                  ,会随着子函数退出而失效   。因此               ,在返回值的时候会引发拷贝                  。这种拷贝有两种可能               。 1. 拷贝构造 当返回值被用于某个对象的声明时,会触发拷贝构造函数。被返回的对象会作为拷贝构造参数传递(引用传递)               ,而拷贝出的对象就是被生成对象               。 2. 赋值算子 即operator =                  。当对某个已经声明对象进行赋值时                  ,会发生这种现象   。 当然   ,近代编译器对于“在返回时进行构造用于返回后的构造            ”这种情况做了优化            ,通称RVO优化            。例如上文                  ,如果get_c中使用return C(a, b);进行返回      ,实际上只有C::C(a, b)的调用         ,而没有C::C(const C & c)的调用                  。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
html文件如何转换成word(HTML转EXE工具(HTML App Build)最新版) 济南seo关键词搜索(济南seo搜索引擎优化)