当前位置: 首页 > news >正文

中企动力科技股份有限公司石家庄分公司谷歌seo综合查询

中企动力科技股份有限公司石家庄分公司,谷歌seo综合查询,百度域名续费,网站权重如何速度增加一、介绍 在c的发展过程中,无论如何发展,c都尽量保持着与C语言的兼容,当然这也是它的一个特点。在实际的应用中,开发者经常遇到的一个问题是,如何把一个指针的值给传出来?有人会说,简单啊&…

一、介绍

在c++的发展过程中,无论如何发展,c++都尽量保持着与C语言的兼容,当然这也是它的一个特点。在实际的应用中,开发者经常遇到的一个问题是,如何把一个指针的值给传出来?有人会说,简单啊,直接返回不就行了。当然,这样是可以的,但是如果不想通过返回值返回呢(返回值另有它用)?
在普通的变量中,可以通过引用“&”来实现,类似下面的代码:

int test(int &a)
{a =10;return a;
}

指针是不是也可以这样做呢?当然可以,同时它还可以使用双重指针来实现,看下面的代码:

int test(char * & p1,int **p2)
{*p1 = 'c';*pt2 = &data;return 0;
}

这在许多的开源框架中,经常看二级指针的原因。可是,在c++中,随着新标准的推出,智能指针开始广泛在程序中应用,那么智能指针怎么产生上面的应用呢?引用?智能指针本身就是一种引用计数器。再或者转回到普通指针,可是在智能指针和普通指针间来回转又是大忌。

二、INOUT和OUT指针

在c++23的提案中有一个INOUT和OUT的智能指针定义即std::inout_ptr,std::out_ptr。两者的区别是前者可以既可输入又可输出,而后者只能输出。这是什么意思呢?就是说智能指针如果纯输出,则输入进去的智能指针只做一个Reset动作;否则会做一个Release动作后再做一个Reset动作。举一个简单的场景,就是转入一个空的智能指针,然后纯输出一个创建成功的智能指针;而如果有个已经使用的智能指针,想重用,就可以用std::inout_ptr,Release和Reset就自动处理了。这有点类似于C中的remalloc函数。
可能有些开发者在阅读一些开源框架或者源码中,会发现一个函数的参数前有类似的IN或者OUT的定义,跳转过去发现只是一个宏定义的空值,目的当然是让代码看上去更友好。那么在c++23中,如何使用呢?

auto ptr = std::unique_shared<int>();void outSmartptr(int ** ptr){}testSmartptr(std::out_ptr(ptr));
testSmartptr(std::inout_ptr(ptr));

可见,这两个指针就是隐匿的转化成T**。当然,在C语言中会有好多分配内存中会使用void *这种机制,所以这两个指针也要支持这种自动转换。另外,和智能指针一样,这两个指针也支持自定义删除器,类似于:

malloc_mem(std::out_ptr(ptr,[](auto t){free_mem(t);}));

好的,注意点来了。前面提到了,std::out_ptr支持任意Reset的成员指针,所以它支持所有的智能指针;而std::inout_ptr既要Release又要Reset,所以它不支持std::shared_ptr。

三、总结

所以说,应用场景推动了标准的前进。一切的技术手段,最终的目的是为实际应用服务的。脱离了这一导向,技术最终会走向华而不实,然后被淘汰。c++之所以开始快速迭代新的标准,目的也不外乎于此。毕竟,只有变化发展,才是永恒的真理。

http://www.tj-hxxt.cn/news/95968.html

相关文章:

  • 那个网站做外贸好google网站推广
  • 泰安企业建站公司服务营销网站建设教学
  • 如何建立网站自己做站长巨量千川广告投放平台
  • 牛牛网站开发seo网上培训
  • wordpress返回404页面跳转上海百度整站优化服务
  • 关于怎么做网站网络营销策划案
  • 公司网站推广是做什么关键词优化排名平台
  • 网站建设推广工作描述搜索引擎优化方法有哪些
  • c#网站开发+pdf文山seo公司
  • 影视会员代理平台网站纹绣培训班一般价格多少
  • php网站跟随导航网站优化查询代码
  • 织梦和wordpress哪个seo工资一般多少
  • 元隆盛建设集团有限公司网站16种营销模型
  • 网站在线推广哈尔滨推广优化公司
  • 南京 网站建设百度超级链数字藏品
  • 如何申请免费网站域名网络营销推广方式
  • 国外域名网站推荐网络营销策划的目的
  • 梵克雅宝日本官网广州网站设计专注乐云seo
  • 网站建设哪家好全国最新疫情最新消息
  • 有了网站怎么做优化南京网站制作
  • 万基城市建设有限公司网站百度推广平台登陆
  • 拓者设计吧室内设计官网案例广州百度seo 网站推广
  • 大型定制网站最贵建设多少钱灰色词seo排名
  • 广州做鞋的网站智能优化网站
  • 都网站建设大一html网页制作作业简单
  • 66郑州网站建设seoapp推广
  • 京东网站设计分析免费网站注册免费创建网站
  • 济南建设银行重庆网络seo
  • 页面有哪几个网站可以做兰州网络推广电话
  • 网站建设中小企业广西网站赚钱