C++ Sign功能 - 来自MatLab?

Pho*_*rce 2 c++ matlab sign

我正在尝试用C++重写一些MatLab代码,我遇到过这个问题:

currentsign = sign(vector(i));
Run Code Online (Sandbox Code Playgroud)

我已经在互联网上找到了这个链接:http://www.mathworks.co.uk/help/techdoc/ref/sign.html

我只是想知道C++中是否有符号功能?如果没有,任何人都可以建议任何有关创建它的教程.

谢谢 :)

jxh*_*jxh 6

template <typename T>
int sign (const T &val) { return (val > 0) - (val < 0); }
Run Code Online (Sandbox Code Playgroud)

由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;
}
Run Code Online (Sandbox Code Playgroud)

关于ideone的完整示例.