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

做外贸的 需要什么样的网站云南域名注册网站建设

做外贸的 需要什么样的网站,云南域名注册网站建设,东莞手机app开发,网络会议系统字符串的拷贝操作 对 string literal (字符串字面量) 执行 copy 要打印指针指向对象的地址和指针本身的地址#xff0c;可以使用 %p 格式符来输出指针地址。以下代码#xff0c;展示了 originalString 和 copiedString 的指针地址和指向对象的地址#xff1a; NSString *…字符串的拷贝操作 对 string literal (字符串字面量) 执行 copy 要打印指针指向对象的地址和指针本身的地址可以使用 %p 格式符来输出指针地址。以下代码展示了 originalString 和 copiedString 的指针地址和指向对象的地址 NSString *originalString Hello, World!; NSString *copiedString [originalString copy];// 打印字符串内容 NSLog(Original: %, originalString); // 输出: Hello, World! NSLog(Copied: %, copiedString); // 输出: Hello, World!// 打印指针本身的地址 NSLog(Original pointer address: %p, originalString); NSLog(Copied pointer address: %p, copiedString);// 打印指针指向对象的地址 NSLog(Original object address: %p, originalString); NSLog(Copied object address: %p, copiedString);Xcode Version 15.1 (15C65) 模拟器iPhone 15运行结果如下 // 打印的内容一样 Original: Hello, World! Copied: Hello, World! // 指针本地的地址不一样说明是不同的指针 Original pointer address: 0x7ff7b1a5fa98 Copied pointer address: 0x7ff7b1a5fa90 // 不同的指针指向同一个对象 Original object address: 0x10e4a0070 Copied object address: 0x10e4a0070解释 Original: Hello, World! 和 Copied: Hello, World! 输出字符串内容。Original pointer address: %p 输出指针 originalString 本身在栈中的地址。Copied pointer address: %p 输出指针 copiedString 本身在栈中的地址。Original object address: %p 输出 originalString 指向的字符串对象在堆中的地址。Copied object address: %p 输出 copiedString 指向的字符串对象在堆中的地址。 可以看到由于 NSString 是不可变对象执行 copy 方法时并不会产生新的对象而是返回相同的对象。所以 originalString 和 copiedString 指向相同的内存地址对象地址相同但是它们的指针本身在栈中的地址是不同的。 对 string literal (字符串字面量) 执行 mutableCopy NSString *originalString Hello, World!;NSString *copiedString [originalString mutableCopy];// 打印字符串内容NSLog(Original: %, originalString); // 输出: Hello, World!NSLog(Copied: %, copiedString); // 输出: Hello, World!// 打印指针本身的地址NSLog(Original pointer address: %p, originalString);NSLog(Copied pointer address: %p, copiedString);// 打印指针指向对象的地址NSLog(Original object address: %p, originalString);NSLog(Copied object address: %p, copiedString);Xcode Version 15.1 (15C65) 模拟器iPhone 15运行结果如下 Original: Hello, World! Copied: Hello, World! // 不同的指针 Original pointer address: 0x7ff7be102a98 Copied pointer address: 0x7ff7be102a90 // 指向不同的对象 Original object address: 0x101dfd070 Copied object address: 0x600000c80090对 mutable string 执行 copy NSString *originalString [NSMutableString stringWithString:Hello, World!];NSString *copiedString [originalString copy];NSString *doubleCopiedString [copiedString copy];// 打印字符串内容NSLog(Original: %, originalString); // 输出: Hello, World!NSLog(Copied: %, copiedString); // 输出: Hello, World!NSLog(doubleCopied: %, doubleCopiedString); // 输出: Hello, World!// 打印指针本身的地址NSLog(Original pointer address: %p, originalString);NSLog(Copied pointer address: %p, copiedString);NSLog(Double copied pointer address: %p, doubleCopiedString);// 打印指针指向对象的地址NSLog(Original object address: %p, originalString);NSLog(Copied object address: %p, copiedString);NSLog(Double copied object address: %p, doubleCopiedString);Xcode Version 15.1 (15C65) 模拟器iPhone 15运行结果如下 Original: Hello, World! Copied: Hello, World! doubleCopied: Hello, World! Original pointer address: 0x7ff7be573a98 Copied pointer address: 0x7ff7be573a90 Double copied pointer address: 0x7ff7be573a88 Original object address: 0x600000c05e30 Copied object address: 0x600000240fa0 Double copied object address: 0x600000240fa0对 mutable string 执行 mutableCopy NSString *originalString [NSMutableString stringWithString:Hello, World!];NSString *copiedString [originalString mutableCopy];NSString *doubleCopiedString [copiedString mutableCopy];// 打印字符串内容NSLog(Original: %, originalString); // 输出: Hello, World!NSLog(Copied: %, copiedString); // 输出: Hello, World!NSLog(doubleCopied: %, doubleCopiedString); // 输出: Hello, World!// 打印指针本身的地址NSLog(Original pointer address: %p, originalString);NSLog(Copied pointer address: %p, copiedString);NSLog(Double copied pointer address: %p, doubleCopiedString);// 打印指针指向对象的地址NSLog(Original object address: %p, originalString);NSLog(Copied object address: %p, copiedString);NSLog(Double copied object address: %p, doubleCopiedString);Original: Hello, World! Copied: Hello, World! doubleCopied: Hello, World! Original pointer address: 0x7ff7b7523a98 Copied pointer address: 0x7ff7b7523a90 Double copied pointer address: 0x7ff7b7523a88 Original object address: 0x600000c7c510 Copied object address: 0x600000c7c6c0 Double copied object address: 0x600000c7c9f0拓展 - 什么是字符串驻留String Interning 在编程语言中字符串驻留String Interning是一种优化技术用于减少内存使用和提高字符串比较的效率。它通过确保相同内容的字符串只在内存中存储一份从而避免重复创建相同的字符串对象。 字符串驻留的工作原理 字符串驻留的基本思想是将相同内容的字符串存储在一个全局的字符串池中。当需要创建一个新字符串时先检查这个字符串池中是否已经存在相同内容的字符串。如果存在则直接返回池中已有的字符串的引用如果不存在则创建新字符串并将其添加到字符串池中。 字符串驻留的优点 节省内存通过避免存储多个相同内容的字符串字符串驻留可以显著减少内存使用。提高字符串比较的效率由于驻留的字符串是唯一的比较两个字符串是否相同只需要比较它们的引用指针而不需要逐字符比较内容。这使得字符串比较操作非常高效。 字符串驻留在 Objective-C 中的应用 在 Objective-C 中编译器和运行时环境对字符串常量进行了优化使得相同的字符串常量在内存中只存在一份。这种优化由编译器和运行时自动处理开发者无需额外干预。 以下是一个示例展示了字符串常量驻留的效果 NSString *string1 Hello, World!; NSString *string2 Hello, World!;NSLog(%p, string1); // 输出某个地址 NSLog(%p, string2); // 输出与 string1 相同的地址在这个示例中string1 和 string2 指向相同的内存地址因为编译器对字符串常量进行了驻留优化。 动态创建的字符串 与字符串常量不同动态创建的字符串例如通过 stringWithFormat:、initWithString: 等方法创建的字符串不会自动进行驻留。即使它们的内容相同它们在内存中的地址也可能不同 NSString *dynamicString1 [NSString stringWithFormat:Hello, World!]; NSString *dynamicString2 [NSString stringWithFormat:Hello, World!];NSLog(%p, dynamicString1); // 输出某个地址 NSLog(%p, dynamicString2); // 输出不同的地址在这个示例中dynamicString1 和 dynamicString2 指向不同的内存地址因为它们是动态创建的字符串对象。 强制字符串驻留 虽然动态创建的字符串不会自动驻留但可以通过调用 NSString 的 intern 方法注意这在 Objective-C 中并不是一个标准方法而是在某些语言中存在将字符串显式地添加到驻留池中。例如在 Java 中有 String.intern() 方法但在 Objective-C 中并没有直接的等效方法。 小结 字符串驻留String Interning是一种有效的优化技术广泛应用于各种编程语言中。在 Objective-C 中字符串常量会自动进行驻留而动态创建的字符串则不会。理解字符串驻留的机制有助于优化内存使用和提高程序的性能。 希望这篇博客能帮助你更好地理解字符串驻留的概念及其在实际编程中的应用。如果你有任何问题或需要进一步的解释请随时联系我 参考资料 Apple Developer DocumentationObjective-C Programming GuideString Interning - Wikipedia
http://www.hkea.cn/news/14591702/

相关文章:

  • 网站建设推广服务金华网站建设微信开发
  • 企业网站开发报价单电影网站建设需要什么
  • 网站首页样式网站备案哪个部门
  • 韩国优秀网站做网站建设的公司有哪些
  • 北京设计网站的公司哪家好WordPress适合做多大级别的网站
  • 唐山建设工程信息网站太原建设局网站
  • 成品网站分享一下建设网站河北建设网
  • 龙南城市建设局网站昆明做网站建设哪家好
  • 西安网站制作资源wordpress 文章 碎片
  • wordpres做影视网站山西省建设招聘信息网站
  • 旅行网站开发背景专业的外贸网站建设公司排名
  • 网站建设基本知识网页设计技术学什么
  • 室内设计资料网站统一管理网站系统
  • 如何建设个人的网站成立了一支网站建设的专业队伍
  • 企业网站建设时优化关键词的问题郴州 网站建设
  • 建设工程项目编号在什么网站查ps做专业网站
  • 模仿 网站平面设计自学网站有哪些
  • psd网站为什么做网站越早越好
  • 做视频解析网站犯法上海市人才服务中心官网
  • 给别人做网站怎么收取费用做网站600
  • 手机响应式网站开发模板之家的网站开发工具有哪些
  • 成都网站推广招聘在线制作网站的平台
  • 长治个人做网站跨境电商个人开店的平台
  • 镇江网站建设价格软件工程师证书报考条件
  • 以遇见为主题做网站新塘网站建设
  • 中国做出口的网站平台哈尔滨网站开发建设公司电话
  • python3 做网站上海市浦东新区建设工程安全质量监督站网站
  • 大型菜谱网站建设怎么做自己的发卡网站6
  • 网站全屏大图代码海外营销推广方案
  • 江岸网站建设怎么用html做个人的网页