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

网站路径优化宣城市建设监督管理局网站下载

网站路径优化,宣城市建设监督管理局网站下载,优秀策划设计网站,jsp网站开发 pdf文章目录 1. void *是什么#xff1f;2. void*详解3. 和void的区别4. 应用场景4.1 函数传参时不确定类型#xff0c;或者要支持多类型的传参#xff1b;4.2 当函数的返回值不考虑类型指关心大小的时候 5. 总结 今天看到一段代码#xff0c;觉得非常有意思。 void* say_hell… 文章目录 1. void *是什么2. void*详解3. 和void的区别4. 应用场景4.1 函数传参时不确定类型或者要支持多类型的传参4.2 当函数的返回值不考虑类型指关心大小的时候 5. 总结 今天看到一段代码觉得非常有意思。 void* say_hello(void* args) {cout Hello World endl;return 0; }void你经常看见但是void*你能说出它具体什么意思吗 1. void *是什么 我们知道C是个强类型语言指针类型的大小是相同的即int*的大小与long long*的大小是相同的 sizeof(int*) sizeof(long long*)那既然大家都是指针类型为什么还要分那么多的类别呢换句话说*号前面的int与longlong这种具体类型的作用是什么呢且看下面这张图 在执行1时不同类型的指针移动的“距离”不同。如果我们在前面规定了它的类型。那就相当于决定了它的“跳跃力”。“跳跃力”就比如说上面图中int跳了4个字节但是double跳了8个字节。 基于这样的理解现在可以对void *下定义了void * 是一个跳跃力未定的指针 这就是它的神奇之处了我们可以自己控制在需要的时候将它实现为需要的类型。这样的好处是编程时候节约代码实现泛型编程。 2. void*详解 1️⃣void*可以指向任何类型数据的地址但是带类型的指针不能随意指向void*的地址: float f 5.5; float* pf f; void* pv pf; float* pf2 pv;//编译错误有类型的指针变量不能指向void*变量2️⃣void*指针只有强制类型转换以后才可以正常取值: int main(int argc, const char * argv[]) {float f 5.5;float* pf f;void* pv;pv pf; //这句是可以的cout*pvendl; //编译错误这样直接对pv取值是错误的cout*(float*)pvendl; //强制类型转换后可以取值return 0; }在令pv pf后此时pv和pf指向的是同一个地址值相同但是两者的类型是不一样的。pf作为浮点型指针是可以直接取到浮点数的但是pv必须要强制类型转换以后才可以取值也就是说一个void*的指针必须要经过强制类型转换以后才有意义。 int main(int argc, const char * argv[]) {float f 5.5;float* pf f;void* pv;pv pf;cout*(float*)pvendl; //强制类型转换后可以取值,值为5.5cout*(int*)pvendl; //强制类型转换值为1085276160cout(int)(*(float*)pv)endl;//取值后再次类型转换值为5return 0; }如果把一个指向float的值的void指针强制转换成int*也是不对的。也就是说地址保存了什么样的变量就要转化成哪种类型的指针否则就会运行出错。 3️⃣void*指针变量和普通指针一样可以通过等于0或者NULL来初始化表示一个空指针 void* pv 0; void* pv2 NULL; coutpv endl; //值为0x0 coutpv2endl; //值为0x04️⃣当void *指针作为函数的输入和输出时表示可以接受任意类型的输入指针和输出任意类型的指针 void* test(void* a) {return a; }int main() {static int a 5;int* pi a;coutpiendl; //值为0x100001060couttest(pi)endl; //值为0x100001060couttest((void*)pi)endl; //值为0x100001060 }如果函数的输入类型为void*在调用时由于是值传递所以函数实际接收到的应该就是一个地址值。这个值可以是任意类型。 int a 5; int* pi a;void* test() {return pi; }int main() {couttest()endl; //值为0x100001060 }3. 和void的区别 再让我们回头看初始的那段函数 //返回了一个空指针 void* say_hello(void* args) {cout Hello World endl;return 0; }//没有返回值 void say_hello(void* args) {cout Hello World endl;return; }其实两个函数实现的内容是一样的。但是void*返回类型的函数返回了一个空指针而void型没有返回值。 4. 应用场景 4.1 函数传参时不确定类型或者要支持多类型的传参 void function(int dataType, void* data) {// 根据dataType的不同值进行不同的转换switch (dataType) {case 0:int* a (int*)data;case 1:char* a (char*)data;...} }4.2 当函数的返回值不考虑类型指关心大小的时候 void * memcpy(void *dest, const void *src, size_t len); void * memset ( void * buffer, int c, size_t num );memcpy和memset对外接收任何类型的指针这样是合理并且必要的因为这是内存操作函数是对bit进行操作的考虑数据类型是没有任何意义的。 int *aNULLaint *malloc(sizeof(int));//返回的是void*所以赋值给其他指针类型要强转一下同样的malloc函数只关注你要多大的内存你需要把它怎么划分是你的事情但是你需要显式的表明你是怎么划分的。这里语法要求是必须的void *类型转为其他类型必须强制类型转换。 5. 总结 void*类型的指针其实本质就是一个过渡型的指针状态必须要赋予类型强制类型转换才能正常使用。void *的范围较大所以强制转换使其进行范围缩小。只能单向类型转换。void*可以转化成其他类型但是有类型的不能转化成void*。在函数调用过程中的使用作为输入输出参数也非常好用可以灵活使用任意类型的指针避免只能使用固定类型的指针。
文章转载自:
http://www.morning.rhmt.cn.gov.cn.rhmt.cn
http://www.morning.ykswq.cn.gov.cn.ykswq.cn
http://www.morning.dbhnx.cn.gov.cn.dbhnx.cn
http://www.morning.qnqt.cn.gov.cn.qnqt.cn
http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn
http://www.morning.rnqyy.cn.gov.cn.rnqyy.cn
http://www.morning.qyhcm.cn.gov.cn.qyhcm.cn
http://www.morning.nkyc.cn.gov.cn.nkyc.cn
http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn
http://www.morning.tpkxs.cn.gov.cn.tpkxs.cn
http://www.morning.sgpnz.cn.gov.cn.sgpnz.cn
http://www.morning.crhd.cn.gov.cn.crhd.cn
http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn
http://www.morning.qkrz.cn.gov.cn.qkrz.cn
http://www.morning.cryb.cn.gov.cn.cryb.cn
http://www.morning.mcjp.cn.gov.cn.mcjp.cn
http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn
http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn
http://www.morning.fxqjz.cn.gov.cn.fxqjz.cn
http://www.morning.snyqb.cn.gov.cn.snyqb.cn
http://www.morning.tqpds.cn.gov.cn.tqpds.cn
http://www.morning.mjctt.cn.gov.cn.mjctt.cn
http://www.morning.sqmbb.cn.gov.cn.sqmbb.cn
http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn
http://www.morning.nkmw.cn.gov.cn.nkmw.cn
http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn
http://www.morning.rgzc.cn.gov.cn.rgzc.cn
http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn
http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn
http://www.morning.gwkwt.cn.gov.cn.gwkwt.cn
http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn
http://www.morning.trjdr.cn.gov.cn.trjdr.cn
http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn
http://www.morning.lfxcj.cn.gov.cn.lfxcj.cn
http://www.morning.c7507.cn.gov.cn.c7507.cn
http://www.morning.jjzbx.cn.gov.cn.jjzbx.cn
http://www.morning.tdldh.cn.gov.cn.tdldh.cn
http://www.morning.cwcdr.cn.gov.cn.cwcdr.cn
http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn
http://www.morning.wfbs.cn.gov.cn.wfbs.cn
http://www.morning.qbkw.cn.gov.cn.qbkw.cn
http://www.morning.pxjp.cn.gov.cn.pxjp.cn
http://www.morning.rybr.cn.gov.cn.rybr.cn
http://www.morning.dxpzt.cn.gov.cn.dxpzt.cn
http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn
http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn
http://www.morning.ahscrl.com.gov.cn.ahscrl.com
http://www.morning.jbxfm.cn.gov.cn.jbxfm.cn
http://www.morning.wrkcw.cn.gov.cn.wrkcw.cn
http://www.morning.tcsdlbt.cn.gov.cn.tcsdlbt.cn
http://www.morning.cspwj.cn.gov.cn.cspwj.cn
http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn
http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn
http://www.morning.frsxt.cn.gov.cn.frsxt.cn
http://www.morning.nkjxn.cn.gov.cn.nkjxn.cn
http://www.morning.pjxw.cn.gov.cn.pjxw.cn
http://www.morning.lstmg.cn.gov.cn.lstmg.cn
http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn
http://www.morning.czlzn.cn.gov.cn.czlzn.cn
http://www.morning.pctsq.cn.gov.cn.pctsq.cn
http://www.morning.rfxw.cn.gov.cn.rfxw.cn
http://www.morning.rsjf.cn.gov.cn.rsjf.cn
http://www.morning.vattx.cn.gov.cn.vattx.cn
http://www.morning.lphtm.cn.gov.cn.lphtm.cn
http://www.morning.wkgyz.cn.gov.cn.wkgyz.cn
http://www.morning.cykqg.cn.gov.cn.cykqg.cn
http://www.morning.hhpkb.cn.gov.cn.hhpkb.cn
http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn
http://www.morning.wqpsf.cn.gov.cn.wqpsf.cn
http://www.morning.tjndb.cn.gov.cn.tjndb.cn
http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn
http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn
http://www.morning.zfyr.cn.gov.cn.zfyr.cn
http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn
http://www.morning.fdxhk.cn.gov.cn.fdxhk.cn
http://www.morning.zcckq.cn.gov.cn.zcckq.cn
http://www.morning.lthgy.cn.gov.cn.lthgy.cn
http://www.morning.kcfnp.cn.gov.cn.kcfnp.cn
http://www.morning.xcxj.cn.gov.cn.xcxj.cn
http://www.morning.kpcky.cn.gov.cn.kpcky.cn
http://www.tj-hxxt.cn/news/264083.html

相关文章:

  • 公司网站设计需要多少钱主机 wordpress
  • 初学者做网站的软件礼品定制
  • 沧州网站建设联系电话设计网站推荐素材网站
  • 网站开发能赚钱吗微信群营销方案
  • 做网站 价格seo是做什么的
  • 个人网站设计过程中文网站模板大全
  • 中小企业网站建设维护内容好的网站你们会感谢我的
  • 战地之王网站做任务哪个页面设计培训好
  • 如何建立自己的网站电商网站界面规范
  • wordpress签到页面郑州网站建设及优化
  • jsp做网站框架网站需要哪些证件
  • 网页设计与网站建设在线作业答案百度普通下载
  • 平面设计素材网站排行榜前十名网站建设大概多少钱
  • 高端营销网站软件开发培训机构推荐就业吗
  • 网站开发图片加载慢长沙企业网站模板
  • 免费做淘客cms网站沛县徐州网站开发
  • 做相册的网站 ppt国际国内新闻最新消息今天
  • 潍坊网站建设选聚搜网络好软件商店电脑版下载
  • 有哪些平面设计网站高德地图实况街景怎么打开
  • 企业网站建设要求天津市建设工程造价管理信息网
  • 访问升级每天自动更新盐城做网站优化
  • 哪个网站可以做任务合作建设网站协议
  • 往公众号里放网站怎么做wordpress分页显示
  • 织梦网站怎么做seo网站制作的要求
  • 响应式网站费用鞍山seo公司
  • 网站搭建平台源码免费素材库视频网
  • devexpress网站开发用wordpress制作网站模板下载
  • 自己做的网站根目录哪里找到wordpress 安卓客户端
  • asp.net 微信网站做问卷的网站好
  • 提卡的网站怎么做百度快照是啥