I'm using VAX Build 2042 with VS 2010. When using std::regex I get two annoying auto corrects that are incorrect. First it incorrectly changes '.' to '->' and it changes 'str' to '_String_const_iterator' via a useless suggestion.
Using this sample code:
std::regex Pattern("([0-9]+)");
std::smatch results;
std::string str = "578";
if( std::regex_match(str, results, Pattern) )
{
std::string val = results[1].str();
}
When I try to type "results[1].str();" I first have to undo the replacement to '->'. Then when hit 's' it first puts a suggestion list which correctly contains "first, second, str, swap". If I select str from here, it's OK. But since this is such a short string, it's easier just to type the rest. As soon as I hit 'r', the suggestion list changes to "_Mystr, _String_const_iterator". If I don't hit escape and type something else like the appropriate '(' then "str" will be converted to the useless "_String_const_iterator".