@zzzc18
2019-12-18T11:58:57.000000Z
字数 501
阅读 1031
C++
TokenConst Token::readToken() {static string now = *I;if (now[0] == '{') return BEGIN_OBJECT;if (now[0] == '}') return END_OBJECT;if (now[0] == '[') return BEGIN_ARRAY;if (now[0] == ']') return END_ARRAY;if (now[0] == ':') return COLON;if (now[0] == ',') return COMMA;if (now[0] == '\"') return STRING;if (now[0] == 'n') return _NULL;if (now[0] == 't' || now[0] == 'f') return BOOLEAN;return NUMBER;}
遇到了有意思的问题
其中有:
vector<string>::iterator I;
代码第二行,这样做在访问now的时候似乎会对 造成一定的影响,导致 不起作用,超级神奇。
盲猜编译器为了提高效率而没有拷贝全部内容,但这样导致了以外的bug
好的,我自己zz
那样写相当于初始化,就执行一次,能对才鬼了。。。
