是否可以将Boost uint128_t数据类型存储到基本int中?

时间:2015-10-25 16:56:36

标签: c++ boost

我正在试验Boost库,并希望将Boost 1.59.0中定义的uint128_t数据类型的值存储到原始int类型中。 uint128_t具有值,比如说0xaf可以适合int。基本上我要做的是:

uint128_t var = 0xaf;
int new_var = var;

我不能直接这样做。无论如何这可以做到吗?我需要将它转换为原始类型,以便我可以将它用作数组的索引。我试过浏览Boost文档,但有点困惑。提前谢谢!

1 个答案:

答案 0 :(得分:3)

Boost的number类有一个转换成员函数模板:

template <class T>
T convert_to()const;

以及显式转换运算符模板,因此static_cast<T>(number)可能有效,但according to the documentation可以特定于所使用的后端存储类型。