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

藁城 网站青海省住房和城乡建设局网站

藁城 网站,青海省住房和城乡建设局网站,装潢设计图片三室一厅,重庆市建设信息网站C 中的命名空间很特别#xff0c;其他编程语言基本都没有。命名空间介于函数与类之间#xff0c;兼顾了二者的一些优点。这篇博客根据 chatgpt 的回答整理。 文章目录 **1. 什么是 namespace#xff08;命名空间#xff09;#xff1f;****2. 语法****3. 使用 namespace 访…C 中的命名空间很特别其他编程语言基本都没有。命名空间介于函数与类之间兼顾了二者的一些优点。这篇博客根据 chatgpt 的回答整理。 文章目录 **1. 什么是 namespace命名空间****2. 语法****3. 使用 namespace 访问成员****4. using 关键字****4.1 using namespace引入整个命名空间****4.2 using 声明引入特定成员** **5. namespace 的嵌套****6. namespace 的匿名命名空间****7. namespace 的别名****8. std:: 命名空间****9. namespace 的扩展****总结** 1. 什么是 namespace命名空间 在 C 中namespace命名空间用于组织代码避免全局作用域的 命名冲突。它允许开发者在不同的作用域中定义相同名称的变量、函数或类而不会发生冲突。 2. 语法 namespace myNamespace {int value 42;void myFunction() {std::cout Hello from myNamespace! std::endl;} }myNamespace 是命名空间的名称。命名空间中的变量、函数、类等都需要通过 myNamespace:: 访问。 3. 使用 namespace 访问成员 可以通过 作用域解析符 :: 访问命名空间中的变量和函数 #include iostreamnamespace myNamespace {int value 42;void myFunction() {std::cout Hello from myNamespace! std::endl;} }int main() {std::cout myNamespace::value std::endl; // 访问命名空间变量myNamespace::myFunction(); // 访问命名空间函数return 0; }输出 42 Hello from myNamespace!4. using 关键字 4.1 using namespace引入整个命名空间 可以使用 using namespace 直接引入整个命名空间这样就可以省略 myNamespace:: #include iostreamnamespace myNamespace {int value 42;void myFunction() {std::cout Hello from myNamespace! std::endl;} }int main() {using namespace myNamespace;std::cout value std::endl; // 直接访问变量myFunction(); // 直接访问函数return 0; }注意 using namespace 会引入命名空间内的所有成员可能导致 命名冲突。通常 不建议在头文件中使用 using namespace而是在特定范围如函数内使用。 4.2 using 声明引入特定成员 如果只想引入命名空间中的某个特定成员可以使用 using 后跟双引号::引入特定成员语句 #include iostreamnamespace myNamespace {int value 42;void myFunction() {std::cout Hello from myNamespace! std::endl;} }int main() {using myNamespace::value; // 只引入 valuestd::cout value std::endl;// myFunction(); // ❌ 错误因为没有引入 myFunctionmyNamespace::myFunction(); // ✅ 正确需要显式访问return 0; }5. namespace 的嵌套 命名空间可以嵌套 namespace Outer {namespace Inner {void sayHello() {std::cout Hello from Inner namespace! std::endl;}} }int main() {Outer::Inner::sayHello(); // 访问嵌套命名空间的函数return 0; }6. namespace 的匿名命名空间 匿名命名空间用于限制作用域使其中的变量和函数只在当前文件可见类似于 static 关键字的作用 #include iostreamnamespace {int secret 100;void hiddenFunction() {std::cout This is a hidden function. std::endl;} }int main() {std::cout secret std::endl; // ✅ 只能在当前文件访问hiddenFunction(); // ✅ 只能在当前文件访问return 0; }匿名命名空间的作用 其中的成员只能在当前文件中访问不会被外部文件链接类似 static 作用域。通常用于防止命名污染。 7. namespace 的别名 如果命名空间名称过长可以使用 namespace 别名 #include iostreamnamespace MyVeryLongNamespaceName {void myFunction() {std::cout Hello from MyVeryLongNamespaceName! std::endl;} }namespace ShortName MyVeryLongNamespaceName; // 取别名int main() {ShortName::myFunction(); // 通过别名访问return 0; }可以重命名这是 namespace 跟 class 的一个区别。 8. std:: 命名空间 C 标准库中的所有组件如 cout、vector、string都在 std 命名空间中 #include iostream #include vectorint main() {std::cout Hello, World! std::endl;std::vectorint vec {1, 2, 3};return 0; }如果不想每次都写 std::可以使用 using namespace std;但注意 在大型项目中using namespace std; 可能会引入太多符号导致命名冲突不建议在头文件中使用。但可以放在函数的开始位置。 9. namespace 的扩展 命名空间可以在不同文件或代码块中扩展 namespace MyNamespace {int value 10; }// 扩展 MyNamespace namespace MyNamespace {void sayHello() {std::cout Hello from MyNamespace! std::endl;} }int main() {std::cout MyNamespace::value std::endl;MyNamespace::sayHello();return 0; }总结 关键点说明作用组织代码防止命名冲突访问方式namespace_name::memberusing namespace引入整个命名空间不推荐在头文件使用using 声明只引入某个成员嵌套命名空间namespace A { namespace B { ... } }匿名命名空间作用于当前文件防止外部访问别名namespace Short LongNamespace;命名空间扩展可以在不同文件中继续定义相同命名空间 ✅ 最佳实践 尽量避免 using namespace 在全局作用域尤其是 std防止冲突。使用命名空间别名来简化长命名空间的使用。匿名命名空间可用于定义只在当前文件可见的变量或函数增强封装性。
http://www.hkea.cn/news/14338020/

相关文章:

  • 做网站找图片做爰网站有哪些
  • 电子商务网站建设与全程实例怎样用电脑和网訨自己做网站
  • 江西网站开发公司电话wordpress当前位置
  • 地方门户网站管理系统wordpress ftp主机
  • 怎么在境外做网站搜索引擎关键词快速优化
  • 云浮建设网站长春网站排名推广
  • 如何诊断网站宣城建设网站
  • 做卡贴的网站wordpress大不了
  • 网站加图标wordpress怎么换语言
  • 网站开发需呀那些技术下列哪个软件属于网页制作软件
  • 淄博免费建站zencart网站打不开
  • 目前热门的网站建设语言株洲新区发布
  • 网站服务器租用怎么购买长沙seo公司
  • 厦门做企业网站找谁免费空间服务的网站
  • 深圳住房和建设局网站公开招标建站不备案
  • 厦门营销网站建设东莞有哪几家网络开发公司
  • 如何建设招聘网站龙岩网店运营招聘
  • 加强纪检监察网站建设网站建设利益
  • wordpress 整站语言wordpress+网站白屏
  • 个人网站建设的背景响应式网站源码.net
  • 烽盈网站建设哪里有免费的网站源码
  • 网站开发工程师前景建公司网站建设明细报价表
  • 合肥瑶海区寒假兼职工网站建设辽宁省建设工程信息网a类业绩
  • 专业型网站和个人网站上海网用软件有限公司
  • 深圳专业营销网站西安网站建设专家
  • 陕西的网站建设公司排名乡村建设的网站
  • dede网站网页主页链接柯城区住房和城乡建设局网站
  • 做弹幕网站有哪些wordpress保护原创
  • 西安seo网站优化修改后台代码wordpress2018
  • 目前最好的网站建设企业做电商网站的参考书