还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

warning C4172: returning address of local variable or temporary

来源:清泛原创     2016-08-29 17:01:32    人气:     我有话说( 0 人参与)

warning C4172: returning address of local variable or temporary 返回单词出现的行号set const set<int> & TextQuery::R...

warning C4172: returning address of local variable or temporary

//返回单词出现的行号set  
const set<int> & TextQuery::RunQuery(string word) const  
{       
      map< string,set<int> >::const_iterator it = m_mapWordLine.find(word);  
      if(it != m_mapWordLine.end())  
        return it->second;  
      else  
        return set<int>();//emptyset  
}
解决方法愿意是返回set对象的const引用以减轻复制set对象的负担,但是这里返回空的set对象的局部引用是错误的,c++ primer 原文采用的方法是返回set对象,不使用引用,这也是一种解决方法。另外使用std::vector<std::string>::size_type  比int型的set好。

warning C4172

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: