At block scope, an identifier followed by a single colon introduces a label. Thus, your statement is equivalent to:
set<string> keys;
except that it bears the label std
and can be jumped to by the statement goto std;
.
For some reason, the name set
is known to the compiler---perhaps you did using namespace std;
, or using std::set;
, or something like that, or perhaps you defined your own set
type somewhere.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…