Question: Following java code returns hash code of a string. 

```
String uri = "Some URI"
public int hashCode() {
    return uri.hashCode();
}

```

I want to translate this code to c++. Is there any function availabe in c++ or an easy way to translate this.

Answer: 
I encoutered the same question as you have, hope this code will help you :

```
int HashCode (const std::string &str) {
    int h = 0;
    for (size_t i = 0; i < str.size(); ++i)
        h = h * 31 + static_cast<int>(str[i]);
    return h;
}

```
//For C++ Qt you can use this code, the result is the sames as for Java hashcode()

```
int  hashCode(QString text){
    int hash = 0, strlen = text.length(), i;
    QChar character;
    if (strlen == 0)
        return hash;
    for (i = 0; i < strlen; i++) {
        character = text.at(i);
        hash = (31 * hash) + (character.toAscii());
    }
    return hash; 
}

```