I don't think *^ is a valid operator in C++; perhaps there is some way it can be read as a combination of two operators? I can't think of any situations where * would not have a right-hand operand, though. I'd be interested to see the context you saw it in. ^= is the operator for assigning a value using XOR.
As itsme says, though >> is a bitshift operator; it is also overloaded with other meanings, such as when they're used for stream extraction and stream insertion:
Code:
cout << "Enter x: ";
cin >> x;
In C++, you can overload any operator to do anything you want; I'm sure there are other meanings for most operators. But AFAIK you can't create new ones.