警惕引用,血的教训
引用和指针到底该啥时候用哪一个,一直是各有利弊的问题,不过这次我是被引用郁闷死了。
足足花了我一天时间,都没找出bug出在哪里,最后没办法,请同事帮忙看终于搞定了,原来是个引用的用法问题。
正常代码如下:
UserSetting& user = g_Setting.User();
User()函数返回的是一个引用,这样直接用肯定没问题,问题是我有一个地方写错了,写成
UserSetting user = g_Setting.User(); 结果导致当时结果是正确的,过后就挂了,很是让我郁闷,
悲惨的又一次经历,和以前那个abs宏多次计算出现的错一样,同样耗时一天,不同的是上次自己慢慢调试出来的
最近事情太多,这次有点心不在焉,还是请教同事在找出来的。
特此备忘并警醒大家:使用引用时 UserSetting& user = ***
一定不能忘了写变量前的引用操作符,否则操作的就是局部变量了,会和我一样郁闷。