ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

C++: 命名空间

C++: 命名空间 命名空间namespace 就是C用来组织代码、避免名字冲突的一种机制简单理解命名空间就是一组变量、函数、类加一个“名字前缀”让他们拥有唯一的身份。例如没有命名空间的情况下工程中有两个类 都是System编译器由于不知道你使用的是那个System 就会出现问题。class System { public: int a; }; class System { public: double b; };但是如果使用命名空间类A:namespace ORB_SLAM2 { class System { }; }类B:namespace ROS { class System { }; }现在依旧有两个System但是使用时带上命名空间就不会出现问题ORB_SLAM2::System ROS::Systemnamespace 的基本语法namespace 名字 { // 类 // 函数 // 变量 }命名空间可以嵌套namespace ORB_SLAM2 { namespace DBoW2 { class Vocabulary { }; } }使用时ORB_SLAM2::DBoW2::Vocabulary voc;在ORB_SLAM2中的整体结构ORB_SLAM2 命名空间│├── System 类│├── Tracking 类│├── Map 类│├── KeyFrame 类│├── MapPoint 类│└── ORBVocabulary 类型别名调用关系ORB_SLAM2::System ORB_SLAM2::Tracking ORB_SLAM2::Map ORB_SLAM2::ORBVocabulary
返回列表