实时 C++ 入门:实用特性与技巧
1. 代码示例引入
先来看一段代码示例:
return x2 + y2;
}
};
point<std::int16_t, std::int32_t> p
{
INT16_C(-2129),
INT16_C(+5471)
};
const std::int32_t d = p.squared_euclidean_distance();
// d is 34,464,482
这段代码引入了一些有用的 C++ 语言特性,后续会详细介绍。例如,使用了编译时断言(通过 static_assert )结合 <type_traits> 库,确保模板参数是整数类型。
2. nullptr 替代 NULL
自 C++11 起,C++ 提供了 nullptr 关键字。它消除了对 NULL 冗余且可能冲突的定义,以及手动编写零指针进行测试的麻烦。以下是使用 nullptr 测试指针是否非零的示例代码:
// chapter03_07-001_nullptr.cpp
class something
{
public:
something() { }
};
namespace
{
// 默认初始化为 nullptr(即 0)。
超级会员免费看
订阅专栏 解锁全文
22万+

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



