C++模板在微控制器编程中的应用与技巧
1. 模板默认参数
模板函数和类类型支持默认模板参数。例如:
// chapter05_05-001_template_point.cpp
template<typename x_type = std::uint16_t,
typename y_type = x_type>
class point
{
// ...
};
// An (x16, y16) point.
point<> pt16_16
{
UINT16_C(1234),
UINT16_C(5678)
};
// An (x8, y8) point.
point<std::uint8_t>
pt08_08
{
UINT8_C(12),
UINT8_C(34)
};
// An (x8, y16) point.
point<std::uint8_t,
std::uint16_t>
pt08_16
{
UINT8_C(34),
UINT16_C(5678)
};
默认模板参数类型可以设置为之前提供的模板参数的符号类型名。编写带有默认模板参数的模板时,不必为每个模板参数提供默认值。模板默认参数从最后一个模板参数开始,依次向模板参数列表的开头设置。
// chapter05_05-002_template_point.cpp
// Both template parameters have default
C++模板在微控制器中的高效应用
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



