gpt4 book ai didi

C++ 命名空间与 iOS 框架

转载 作者:行者123 更新时间:2023-11-28 06:41:46 24 4
gpt4 key购买 nike

我试图更好地理解 C++ 中的 namespace 。我的第一个面向对象语言是 Objective-C,所以我将其他语言与它进行比较。在我看来,C++ 命名空间类似于 UIKit 和 Foundation 等 iOS 框架。哪些文件包含其他头文件的列表。我还想知道 C++ 命名空间是否类似于 C# 和/或 Java 命名空间。我只知道 C++ 命名空间的一个区别是使用 (::) 表示法与 C# 和 Java 中的 (.) 表示法。我还知道(与 Objective-C 不同)您可以使用命名空间的名称来调用其类和函数:如“System.Console.WriteLine()”或“std::cout”。我感谢任何建议。谢谢

最佳答案

C++ 命名空间就是:将一种名称与另一种名称分开的东西。命名空间的关键点是避免“名称冲突”——两个函数或变量具有相同的名称,因此编译器/链接器不知道你指的是哪一个。

框架是一组功能和/或对象,可让您执行某些特定的(一组)任务。可能是:

  • 帮助您制作菜单、窗口和对话框的 UI 框架。
  • 如果您想构建编译器,编译器框架会有所帮助。
  • 一个进行线性代数的框架。
  • 连接到数据库引擎并制定 SQL 查询。
  • webtoolkit 用于构建与网站对话或显示网页的应用程序。

以及数以百万计的其他东西。

框架通常在命名空间内实现,以避免与代码的其他部分或其他框架发生冲突。

标准 C++ 库是在 std 命名空间中实现的,严格来说它不是一个框架,而是大多数应用程序以某种方式需要的基本功能的集合。

这是一个非常简化的 View ,因为对这两个概念的完整描述可能需要几天的努力......

关于C++ 命名空间与 iOS 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com