Witam. Mój program ma przyjąć string, odwrócić go i wydrukować. Zadanie mówi o użyciu "pointer increment during the copy" czy ktoś może podpowiedzieć mi w jaki sposób?

#include <string> 
#include<iostream>
using namespace std; 
  
void reverseStr(string& str) // this function reverses the string
{
    int n = str.length();
    
    for (int i = 0; i < n / 2; i++) //it swaps characters of two ends
    {
        swap(str[i], str[n - i - 1]);
    }
    
}

int main()
{
    char run_me_again_check; // for mutiple running of program
    bool run_me_again = true;
    
    while (run_me_again )
    {
        cout << "Please enter the string to reverse : ";
        string str;
        cin >> str;
        reverseStr(str);
        cout << str <<endl;
        cout << "One more time? (Y/N)  ";
		cin >> run_me_again_check;
		
		if (run_me_again_check == 'Y' || run_me_again_check == 'y')
		{
		    run_me_again = true;
		}
		
		else
		{
		    run_me_again = false;
		}
        
    }
    system("pause");
    return 0;
    
}