C++模板实现文件扩展名约定
C++ Template implementation file extension convention?
模板类实现使用的文件扩展名有约定吗?**。tpp.template.hpp**
"模板类实现使用什么文件扩展名有约定吗?"
不,并没有为这些文件扩展名AFAIK建立一个真正的标准约定。
不过,有很多常用的文件扩展名,比如
.icc
.inl
.tcc
(它似乎至少被我的GCC 4.8.1标准库实现所使用)...
这其实并不重要,因为无论如何都需要通过模板头文件中的#include "MyImpl.tcc"
、#include "MyImpl.tpp"
语句来明确说明这一点。
例如,您可以使用.tci
(t模板c类i实现,我在这里创造性地发明了一个;-)
一个重要的点是,您应该对解决方案涉及的所有项目使用一致的命名策略(这将使您更容易设置语法高亮显示的IDE首选项)。
唯一的no-go扩展IMHO是.cc
、.cpp
、.cxx
和.c
,这将混淆当前大多数自动化构建系统和IDE。构建系统将假设这些文件需要作为附加对象进行构建和链接,但由于这些文件无法独立构建,或者最终导致多个符号定义处于链接状态而失败。
否。
很多项目都不太在意,只是把所有东西都放在.hpp
文件中。我这样做。
许多其他项目(只有大标题的项目,如Eigen和Boost)将内联代码和模板实现拆分为.inl
(用于内联)文件。
我个人从未见过.tpp
,但这并不意味着没有这样的项目
但没有约定,没有
相关文章:
- C++中的VLA,扩展名为std=C++11
- 如何按文件扩展名引用文件夹中的文件
- VSCode 中带有 C/C++ 扩展名的多行注释缩进错误
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 使用Boost文件系统C++将具有特定扩展名的文件的名称保存在特定文件夹中
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- Visual Studio Code "variable " u8 的 C/C++ 扩展名 " " 不是类型名称"
- Makefile by ocaml 和 cpp 扩展名
- CMake 不编译具有非标准扩展名的文件
- Visual Studio 2019 - 设置文件类型的默认扩展名
- 如何在 Windows 上获取带有 c++ 且没有 <dirent.h> 的特定扩展名的所有文件的列表
- 谁能告诉我,程序中的错误是什么?该程序仅用于获取文件扩展名
- 如何在 vscode 扩展名中检索 C/C++ 文件的编译命令
- 通过cMake使用具有自定义文件扩展名的共享库
- 如何在 CMake 中"override"文件的按扩展名类型
- 在另一个字符串中插入文件扩展名之前的字符串
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 使用FindFirstFile和FindNextFile递归查找具有特定扩展名的文件
- C++模板实现文件扩展名约定