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

流量网站建设台江网站建设

流量网站建设,台江网站建设,制作一款手游需要多少钱,wordpress怎样修改字体本篇文章我们来介绍一下C “万能血” void指针 为什么说他万能呢#xff1f; 原因:C void* 是一种特殊的指针类型#xff0c;可用于存放任意对象的地址。在函数传参中也可以作为任何实参的形参 void型详细介绍 void* 是C中的一种特殊的指针类型#xff0c;被称为无类…本篇文章我们来介绍一下C “万能血” void指针 为什么说他万能呢 原因:C void* 是一种特殊的指针类型可用于存放任意对象的地址。在函数传参中也可以作为任何实参的形参 void型详细介绍 void* 是C中的一种特殊的指针类型被称为无类型指针。它可以指向任意类型的数据但在没有进行类型转换之前不能直接对其进行解引用操作。 由于 void* 是一个无类型指针因此它可以用来实现泛型编程或处理未知数据类型的情况。例如在某些情况下需要将指针作为参数传递给函数并且不确定具体的数据类型时可以使用 void* 类型。 然而由于 void* 是无类型指针所以在使用它时需要注意类型安全性。如果要在 void* 指针上执行操作或访问其内容必须先将其转换回原始类型。 下面我们来看一下代码实例 int number 42; void* ptr number; // 将 int 类型的指针赋值给 void* int* intPtr static_castint*(ptr); // 将 void* 转换回 int* std::cout *intPtr std::endl; // 解引用 void* 转换后的指针注意要进行类型转换 万能指针在C中的应用 “万能“喝“泛型”这两个词语 相信大家第一眼看出来就是有很大关联的  在这里先介绍一下C泛型编程 泛型编程是一种程序设计方法旨在编写通用、可重用的代码以处理不同类型的数据而无需为每个具体类型都创建专门的代码。它使得程序员能够编写与数据类型无关的算法和数据结构从而提高代码的灵活性和可维护性。 通过使用泛型编程技术可以将算法或数据结构与特定类型解耦使其适用于各种不同的数据类型。这种解耦是通过参数化实现的即在定义函数或类时使用参数来表示待处理的类型。 C中的模板是实现泛型编程的主要机制之一。通过使用函数模板或类模板在定义时指定一个或多个类型参数并在使用时根据需要进行实例化。这样一来相同的代码可以适用于不同的数据类型。 泛型编程带来了许多优点包括 代码复用可以编写一次通用代码在多个地方重复使用。类型安全在编译时进行类型检查避免了运行时出现类型错误。性能优化由于生成具体化版本时会进行静态展开和优化因此可以获得与手动针对特定类型优化相似甚至更好的性能。可扩展性当需要处理新类型时只需提供适当的类型参数而无需修改现有的泛型代码。 总而言之泛型编程使得程序员能够更加灵活地处理不同类型的数据并且可以提高代码的可维护性和重用性。 泛型和万能结合的代码实例 #include iostream// 泛型打印函数 void printValue(void* ptr, const std::string type) {if (type int) {int* intValue static_castint*(ptr);std::cout Value: *intValue std::endl;} else if (type double) {double* doubleValue static_castdouble*(ptr);std::cout Value: *doubleValue std::endl;} else if (type char) {char* charValue static_castchar*(ptr);std::cout Value: *charValue std::endl;} else {std::cout Unsupported type std::endl;} }int main() {int intValue 42;double doubleValue 3.14;char charValue A;printValue(intValue, int);printValue(doubleValue, double);printValue(charValue, char);return 0; }在上述示例中通过使用 void* 类型的指针作为参数我们可以根据不同的类型进行数据打印操作。这样就实现了一种简单的泛型功能。 需要注意的是在使用 void* 进行泛型编程时需要小心处理类型转换和指针解引用等操作以确保类型安全性和正确性。 注意void*万能指针的解引用通常与Cstatic_castT相结合使用 拓展 C void*和C模板元编程互相使用 C模板元编程意思通俗的来说就是编译的时候就执行出结果 而不是运行或者说不需要运行就可以出结果了 代码实例: #include iostream// 使用 void* 实现的通用 Swap 函数 void Swap(void* a, void* b, size_t size) {char* first static_castchar*(a);char* second static_castchar*(b);while (size--) {char temp *first;*first *second;*second temp;} }// 使用模板元编程实现的通用 Swap 函数 template typename T void TemplateSwap(T a, T b) {T temp a;a b;b temp; }int main() {// 使用 void* 的通用 Swap 示例int x 5, y 10;std::cout Before swap: x x , y y std::endl;Swap(x, y, sizeof(int));std::cout After swap using void*: x x , y y std::endl;// 使用模板元编程的通用 Swap 示例double p 2.5, q 3.7;std::cout Before swap: p p , q q std::endl;TemplateSwap(p, q);std::cout After swap using templates: p p , q q std::endl;return 0; }在上述代码中我们首先定义了一个使用 void* 实现的通用 Swap 函数它接受两个 void* 类型的指针和一个表示数据大小的参数。在函数内部我们将指针转换为 char* 类型并使用循环逐字节交换数据。 然后定义了一个使用模板元编程实现的通用 Swap 函数 TemplateSwap它接受两个模板类型的引用。在函数内部我们通过创建临时变量并交换值来实现泛型交换操作。 在主函数中我们分别演示了使用 void* 和模板元编程实现的通用 Swap 函数。可以看到在使用这两种方法时不需要关心具体类型只需传入相应的参数即可完成值的交换。 需要注意的是虽然使用 void* 可以实现一定程度上的泛型功能但由于类型擦除和显式转换等问题可能存在类型安全性和性能损失。而模板元编程则在编译期间进行类型检查和优化并提供更好的类型安全性和效率。 最后 C void* 在C24 里面变化不大 modern effective C 里面侧重的就是万能和模板的使用 总结 C里面每一个知识点都对应着一个目的  并且C是一个不断追求完美的语言 C三大特性 封装 继承 多态 而模板元编程和模板编程就是多态对应着的一个重要的部分 万能”等词也都是为多态打下来坚实的代码基础。 好了 本篇文章就到这里 在这里小编想向大家推荐一个课程 https://xxetb.xetslk.com/s/2PjJ3T
http://www.w-s-a.com/news/471681/

相关文章:

  • 网站项目开发收费标准网站开发app开发主营业务
  • 怎么到国外网站去接模具订单做互联网建设企业网站
  • 深圳品牌网站建设公司排名洪雅网站建设
  • nodejs 做网站wordpress主题绕过激活码
  • 平湖模板网站建设公司网页美工培训
  • 顺德网站建设市场建设工程交易中心网站
  • 深圳企业网站怎么做浪琴手表网站建设图
  • 2018网站外链怎么做济南 网站设计公司
  • 承德百度网站建设郑州网站seo优化公司
  • 四川建站模板网站公司分类信息网站制作
  • 网站开发前后端有wordpress模板安装教程视频教程
  • 有网站想修改里面的内容怎么做怎么做黑彩黑彩网站
  • 什么专业会做网站网站建设续费合同
  • 网站开发的项目开发网站做直播功能需要注册吗
  • 网站开发新手什么软件好网站设计师和ui设计师
  • 太仓苏州网站建设软件开发网站建设
  • 一个虚拟主机做2个网站吗工信部怎么查网站备案
  • 本地网站做淘宝客制作app步骤
  • 关于企业网站建设网页布局怎么设计
  • 惠州市网站设计公司裴东莞嘘网站汉建设
  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站