我试图将位添加到__int128(使用clang编译器和64位系统),但失败了.
__int128 x = 0; //DECLARING AND INITIALIZING X
x |= ((static_cast<__int128>(1)) << 95); //ADDING A '1' TO 95th BIT (from right)
std::cerr<< std::bitset<100>(x) << std::endl; //PRINTING BITSET
Run Code Online (Sandbox Code Playgroud)
打印:
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
我知道我可以使用unsigned int或long long int的简短形式,例如
(1u << 15)或(1LL << 15),但我没有找到任何128位的等价物.
我需要做什么才能使这项工作成功?
我正在寻找一种方法来捕获 by const&,甚至const在可变 lambda 上。类似于下面的语法。有没有好的方法可以做到这一点?
#include <future>
#include <vector>
int main() {
std::promise<int> p;
const int N = 2;
std::vector<int> v = {1,2,3};
auto foo = [const& N, const& v, p = std::move(p)]() mutable {
v.push_back(4); // Should not compile
p.set_value(v[N]);
};
}
Run Code Online (Sandbox Code Playgroud) 我想从子文件夹中删除所有 emacs 备份 (~) 文件。我知道我可以cd在每个文件夹中删除它们rm *~(例如备份文件 test.cpp~)。
如何使用一个命令删除这些文件,而无需在每个文件夹中进行 cd'ing?
(我试过了rm -r *~,rm -rf *~但它们似乎不起作用)
我试图定义一个函数包装器,用于在SML中计算元组.
fun curry f = fn (x, y) z => f x y z;
Run Code Online (Sandbox Code Playgroud)
给我错误
非标识符应用于模式.
我是ML的新手,不知道为什么模式匹配fn不起作用.
我怎么能做这个工作?