当前位置: 首页 > 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.dnsts.com.cn/news/262647.html

相关文章:

  • 网站会员注册系统源码河北石家庄旅游网页设计
  • 2017主流网站风格网站建设服务商的网站建设流程
  • 电子商务网站建设系统功能东营建网站公司
  • 长治建一个网站大概要多少钱哈尔滨快速建站合作
  • 运城推广型网站建设南通网站建设
  • 网站模板模仿黄石手机网站建设
  • 广州高端网站设计功能多的免费网站建设
  • 佛山网站建设定制科技公司官网设计源代码
  • 无锡网站建设推荐建设银行宁波分行网站
  • 采集文章留在网站网站开发工程师应聘书范文1000
  • 不要钱做网站软件沈阳市城乡建设局
  • 自己做旅游攻略的网站php响应式网站模板
  • 做网站文件夹都起什么名字2018wordpress 主题
  • 免费开网站系统做公司网站注意什么
  • 安阳网站哪家做的好贵阳网站制作费用
  • wordpress网页文件太多seo网络推广专员招聘
  • 网站 掌握做网站明细范文
  • 潍坊制作网站建设网站的建议
  • 建设工程168类似的网站怎么设计自己的个人网页
  • 汕头网页建站模板西安营销型网站制作价格
  • 哈尔滨营销网站制作建网通
  • 移动开发网站建设深圳互联网公司集中在哪个区
  • 沈阳做一个网站需要多少钱网站建设 环保素材
  • 官方网站面膜做代理代理龙华网站建设
  • 简单公司网站模版学做网站多久能学会
  • 搭建一个网站ui是什么工作
  • 旅游类网站开发开题报告范文六安网站制作人才招聘
  • 焦作网站设计多少钱网页传奇游戏如何0血打不死
  • 免费建设淘宝客网站wordpress类似股票行情
  • 樟木头镇网站仿做青岛网站设计企业