Indeed. The Ones complement vs twos complement problem only occurs when reading binary data between different kinds of hardware (Luckily most modern PC hardware uses twos complement anyway). The kind of situations where you'll encounter the difference will be embedded devices, old mainframes, Digital signal processors, calculators..
Provided you don't attempt to mix signed and unsigned values in the same expression, you won't go too far wrong.
(Here's a horrible example of what may go wrong if you do

)
Code:
#include <iostream>
int main()
{
char ch = -1;
unsigned int i = ch;
std::cout << i ;
}