3

私のコンパイラは、次のコードについていくつか気に入らない点があります。どんな助けでも大歓迎です。私はプログラミング初心者なので、遠慮なく批判してください。私はあなたたちが厳しいことを知っています。

// Method 2, the additive swap, explained inside. 
void strrev2(std::string& str) { 
    unsigned len = str.size(); 
    for (unsigned i = 0, j = len - 1; i < j; i++, j--) { 
        short a = (int)str[i]; // a is the ASCII value of the i-th character of the string
        short b = (int)str[j]; // b is the ASCII value of the j-th character of the string

        //             Current value of a        Current value of b
        a = a + b; //      a + b                         b        
        b = a - b; //      a + b                         a
        a = a - b; //        b                           a
    }

    str[i] = (char)a;
    str[j] = (char)b;
} 
4

1 に答える 1