我试图用C++重新编写一些MatLab代码,并且遇到了这个问题:

currentsign = sign(vector(i));

我在互联网上查看并找到此链接:http://www.mathworks.co.uk/help/techdoc/ref/sign.html

我只是想知道C++中是否有符号函数?如果没有,谁能建议任何有关创建它的教程。

谢谢 :)

最佳答案

template <typename T>
int sign (const T &val) { return (val > 0) - (val < 0); }

Credit due to Ambroz Bizjak
template <typename T>
std::vector<int> sign (const std::vector<T> &v) {
    std::vector<int> r(v.size());
    std::transform(v.begin(), v.end(), r.begin(), (int(*)(const T&))sign);
    return r;
}

Full example on ideone

关于c++ - C++签名功能-来自MatLab吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11990030/

10-12 19:49