我需要在两个 vector 之间进行按位运算。我不想使用循环。
我正在使用 Armadillo 。有人可以帮我吗?
编辑:
所谓 vector ,是指Armadillo库提供的 vector 模板。像这样:
urowvec newvec1 =零(5);
urowvec newvec2 =个(5);
urowvec newvec3 = newvec1 | newvec2;
但这给我 Armadillo 的错误。
谢谢
最佳答案
如果执行此操作:
inline urowvec operator|(const urowvec& lhs, urowvec& rhs){
// ToDo - operate on an element by element basis, and return
// a urowvec. Decide on something reasonable if the vectors
// differ in size.
}
并确保将其包含在每个需要操作员的编译单元中,然后
urowvec newvec3 = newvec1 | newvec2;
将有效。您可以对其他按位运算符执行相同的操作。
任何合理的编译器都会忽略值副本。
关于c++ - Armadillo vector 的按位运算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29034630/