Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否可以将Boost uint128\t数据类型存储到基元int中?_C++_Boost - Fatal编程技术网

C++ 是否可以将Boost uint128\t数据类型存储到基元int中?

C++ 是否可以将Boost uint128\t数据类型存储到基元int中?,c++,boost,C++,Boost,我正在试验Boost库,并希望将Boost 1.59.0中定义的uint128_t数据类型中的值存储到原始int类型中。uint128_t有一个值,比如0xaf,可以放入一个int。基本上我想做的是: uint128_t var = 0xaf; int new_var = var; 我不能直接这样做。有没有办法做到这一点?我需要将其向下转换为一个基元类型,以便将其用作数组的索引。我试图浏览Boost文档,但有点困惑。提前谢谢 Boost的number类有一个用于转换的成员函数模板: templ

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

uint128_t var = 0xaf;
int new_var = var;

我不能直接这样做。有没有办法做到这一点?我需要将其向下转换为一个基元类型,以便将其用作数组的索引。我试图浏览Boost文档,但有点困惑。提前谢谢

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

template <class T>
T convert_to()const;
模板
T将_转换为()常量;

以及一个显式转换运算符模板,因此
静态\u cast(number)
可能会工作,尽管这可能特定于所使用的后端存储类型。

您希望如何在32位中存储128位数据?Magic?@SLaks问题是,该值在
int
的范围内,因此这不应该是问题。通常,“如何使用此库”的答案是检查文档。顺便说一句,这个问题比您之前提出的问题有很大改进,继续。显式转换运算符模板对我不起作用。但是成员函数模板起作用了!