- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《点云库PCL学习教程》第3章-PCL基础.pptx
第3章 PCL基础本章首先简述了PCL C++编程规范,为以后章节的阅读和读者编写出PCL风格的代码做一定铺垫,为了让用户基于PCL开发出自己的扩展,紧接着通过实例详细介绍了在PCL框架下如何建立用户自定义类,最后介绍了PCL中点的已有类型以及如何自定义点类型以满足扩展需求。掌握第3章的内容之后,读者可轻松阅读PCL源码和后续章节中的例子程序,也为读者后续自行开发奠定了基础。本章各小节目录3.1 PCL C++编程规范3.2 如何编写新的PCL类3.3 PCL已有点类型介绍和增加自定义的点类型3.4 PCL中异常处理机制3.1 PCL C++编程规范架构师为了确保在PCL中所有代码风格的一致性,使得其他开发者及用户容易理解源码,PCL开发者制定并遵循着一套严格的编写规范,PCL的开发者都默认此规范,除非有充足的理由才可以不遵循这些规范。当然这些规范也并不是一成不变的,但提出和更改规则的人需要考虑兼容性,那就是让新加的规则与现有的所有代码相适应。3.1.1 PCL推荐的命名规范1. 文件命名(1)所有的文件名单词之间应该用下划线隔开,例如unordered_map.hpp。(2)头文件的扩展名为.h。(3)模板类实现文件的扩展名是.hpp。(4)源文件的扩展名是.cpp。2. 目录命名所有的目录及其子目录命名应该符合,如果由多个单词组成,其之间用下划线隔开,PCL中各个目录遵循以下规则:(1)头文件都应放在源码目录树中的include/下。(2)模板类实现文件都应放在目录树中的include/impl/下。(3)源文件都应放在目录树中的src/下。3. Include语句当文件在同一目录下时Include指示语句用双引号,在其他情况下则用尖括号,例如:#include pcl/module_name/file_name.h#include pcl/module_name/impl/file_name.hpp#include “file_name.cpp” //在同一目录下4. 宏定义命名宏定义中字母都采用大写格式,为头文件所定义的宏最后面还需要加上下划线,并且名称从include下目录开始,例如pcl/filters/bilateral.h对应PCL_FILTERS_BILATERL_H_。#ifndef和#define定义放在BSD协议后面代码前面。#endif定义一直在文件结尾,并且加上一句注释掉的宏对应头文件的宏定义,例如://the BSD license#ifndef PCL_MODULE_NAME_IMPL_FILE_NAME_HPP_//为避免重复包含头文件而定义的宏#define PCL_MODULE_NAME_IMPL_FILE_NAME_HPP_//the code#endif //PCL_MODULE_NAME_IMPL_FILE_NAME_HPP_5. 命名空间命名命名空间多于一个单词的,单词之间应该用下划线连接,例如:namespace pcl_io{ …}6. 类/结构命名类名(和其他自定义类型的名称)应该是CamelCased(驼峰命名)命名规范,也就是连写单词组成命名,每个单词首字母大写。但是有例外:如果类名包含一个缩写,这个缩写应该全部大写,类名和结构名最好是名词组成的名字,例如PFHEstimation代替了EstimatePFH,下面是正确的命名代码例子:class ExampleClass;class PFHEstimation;7. 函数/成员函数命名函数和类的成员函数的命名应该采用camelCased,也就是连写单词组成命名,除了首个单词首字母小写其他单词首字母大写,它们的参数命名单词之间用下划线隔开,函数和类的成员函数命名最好采用动词,应该确保这些名字能清楚的表达函数和类成员函数的功能,例如,checkForErrors()而不是errorCheck(),dumpDataToFile()而不是dataFiledump(),正确的用法:intapplyExample(int example_arg);8. 变量命名变量的命名应该单词之间用下划线隔开例如:int my_variable;(1)迭代子变量命名。迭代子变量应该反应出它们迭代的对象,例如:std::listint pid_list;std::listint::iterator pid_it; //指示迭代的对象为点的索引(2)常量命名。常量的名字应该是全大写,例如:const static int MY_CONSTANT = 1000;(3)成员变量命名。类的成员变量命名单词之间用下划线隔开并且以下划线结尾,例如:int example_int_; //对阅读PCL源码很有帮助,可明显区分成员变量与局部变量9. Return语
您可能关注的文档
- -企业所得税月季度预缴纳税申报表讲解.ppt
- 0-国家公卫规范第三版培训课件-档案高血压-贵州终稿.pptx
- 0-课程相关综述1.ppt
- 03-第三章-企业的研究与开发.ppt
- 08-第八章-后勤管理.ppt
- 0、如何提升物业服务品质----基础-1.ppt
- 1--食品安全风险交流预警湖南.ppt
- 1-2013年国税局企业所得税汇算清缴辅导资料..ppt
- 1-事业单位制度会计课件.ppt
- 1.2校园里的树木-2.ppt
- 中国行业标准 DB/T 100-2024区域性地震安全性评价.pdf
- 《GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架》.pdf
- GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- DB/T 100-2024区域性地震安全性评价.pdf
- 中国行业标准 GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- 校园周边书店阅读氛围对初中生阅读素养提升的影响研究教学研究课题报告.docx
- 初中校园餐饮卫生监管与食品安全教育创新模式研究教学研究课题报告.docx
- 《文化遗产保护与旅游开发平衡机制的法律法规完善研究》教学研究课题报告.docx
- 《农作物病虫害生物防治技术的经济效益与社会影响分析》教学研究课题报告.docx
- 1 剖宫产术后子宫瘢痕憩室治疗中的并发症预防与护理措施教学研究课题报告.docx
文档评论(0)