千家信息网

C++ void的基础概念是什么

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇文章为大家展示了C++ void的基础概念是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中的很多概念都值得我们去不断的学习,不断的从中
千家信息网最后更新 2024年12月12日C++ void的基础概念是什么

本篇文章为大家展示了C++ void的基础概念是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

C++编程语言中的很多概念都值得我们去不断的学习,不断的从中积累经验以帮助我们在程序编写时获得更大的帮助。比如今天为大家介绍的C++ void就是ige比较重要的内容。许多初学者对C++ void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。

void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据。

void几乎只有"注释"和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:

void a;

这行语句编译时会出错,提示"illegal use of type 'void'"。不过,即使void a的编译不会出错,它也没有任何实际意义。

  • C++剪切板常用应用技巧分享

  • C++ Doxygen实现功能分享

  • C++ sprintf格式化解决方法详解

  • C++函数对象与函数指针不同之处

  • C++单向链表实现代码解读

C++ void真正发挥的作用在于:

(1) 对函数返回的限定;

(2) 对函数参数的限定。

我们将在第三节对以上二点进行具体说明。

众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。

例如:

float *p1;  int *p2;  p1 = p2;

其中p1 = p2语句会编译出错,提示"'=' : cannot convert from 'int *' to 'float *'",必须改为:

p1 = (float *)p2;

而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:

void *p1;  int *p2;  p1 = p2;

但这并不意味着,void *也可以无需强制类型转换地赋给其它类型的指针。因为"无类型"可以包容"有类型",而"有类型"则不能包容"无类型"。道理很简单,我们可以说"男人和女人都是人",但不能说"人是男人"或者"人是女人"。下面的语句编译出错:

void *p1;  int *p2;  p2 = p1;

提示"'=' : cannot convert from 'void *' to 'int *'"。

上述内容就是C++ void的基础概念是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

类型 C++ 指针 函数 编译 概念 不同 内容 语句 强制 提示 基础 不断 作用 女人 就是 技巧 技能 指向 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发实习生工资高 网络安全教育ppt课件大学生 闲置云服务器 六安出入库软件开发平台 轻量云服务器如何安装宝塔 dns服务器发生错误没有网 数据库实验查询心得体会 济南做软件开发怎么样 洛奇服务器中断 网络安全工程师全国招聘 浏览器证书 服务器证书 云顶之弈新加坡服务器装备合成 武昌放心的软件开发电话 新吴区运营软件开发成本 美国一号网络技术有限公司 乡镇网络安全专题安排部署会 jdbc数据库连接步骤 大连科技软件开发公司简介 企业电力消费数据库 流程图 数据库 软件开发中小改动需要测试验证吗 服务器检测维修联系电话 浪潮服务器如何查看网卡MAC 哈工程网络安全技术及工程 c++是用哪个软件开发 计算机和网络技术就业方向 小企业服务器配置 推荐的数据库所有者 山东省规模大的浪潮服务器代理商 福建信息化软件开发价格大全
0