当前位置: 首页 > news >正文

教师做班级网站南京seo

教师做班级网站,南京seo,360建筑网可靠不,sem优化师底薪一般多少今天在写一个简单的函数时&#xff0c;编译时出现了如下的错误&#xff1a; 这个很简单的函数是这样的&#xff1a; struct bundle_set {uint32_t baseId;uint32_t endId;bool operator< (const bundle_set &a){return baseId < a.baseId;} }; 在网上搜索到都是说什…

        今天在写一个简单的函数时,编译时出现了如下的错误:

这个很简单的函数是这样的:

struct bundle_set
{uint32_t baseId;uint32_t endId;bool operator< (const bundle_set &a){return baseId < a.baseId;}
};

在网上搜索到都是说什么 “一个const对象不能调用非const成员函数” 并不太理解是什么意思。以前看书的时候,书上说是如果在函数后面加上 const 表明这个函数不会去修改类成员,光从这个函数来看确实没有修改成员,但为何需要声明为 const 才能编译过呢?这个还没理解,以后知道了才更新吧。然后我们再看下面这个函数:


void idm_bundle_manager::dumpByLdpIdx(uint32_t ldpIdx)const
{if(!mLdpIdmMap.empty()){printf("ldpidx = %u\n", ldpIdx);auto set = mLdpIdmMap[ldpIdx];auto ret = mLdpIdmMap.find(ldpIdx);if(ret != mLdpIdmMap.end()){for(auto ite : ret->second){printf("%u %u\n", ite.baseId, ite.endId);}}}
}

编译错误应该跟开头那个是一样的意思。错误表明在224行,即 auto set = mLdpIdmMap[ldpIdx]; 这个 mLdpIdmMap 的类型为 std::map<uint32_t, std::set<bundle_set>>。那为什么出错在那一行呢?结合书上说的 const 函数旨在不修改类的成员,而 auto set = mLdpIdmMap[ldpIdx]; 就有可能修改了成员 mLdpIdmMap,为什么呢?因为std::map 的 [key] 操作符在没有找到 key 时,会调用 key 类型的默认构造函数构造一个元素进行插入,参考:map [] 操作,所以声明为 const 函数不能调用 map[] 操作符。解决办法当然就是去掉函数的 const 声明,或者是用 map 的 find() 接口,用 find() 接口更合适,因为本意是想使用 map[key] 的值,结果却多出一个默认的元素值。

 

http://www.hkea.cn/news/504651/

相关文章:

  • 做网站建设公司企业一个企业该如何进行网络营销
  • 移动端h5网站开发服务企业seo推广
  • 管理公司网站建设引擎搜索优化
  • 上市公司专利查询网站百度广告投放价格
  • html5电商网页制作网站怎么seo关键词排名优化推广
  • 大同网站建设黄冈网站推广优化找哪家
  • 昌邑网站建设站长之家网站排名
  • 建设企业网站的需求分析免费域名
  • 重庆欧勒精细有限公司网站策划书百度竞价推广开户
  • 怎么做一键添加信任网站ios aso优化工具
  • ps做网站的分辨率多少钱苹果cms永久免费建站程序
  • 网站推广积分常用于网站推广的营销手段是
  • wordpress时间云储存沈阳网站制作优化推广
  • h5响应式网站建设竞价托管哪家效果好
  • 企业解决方案参考网站品牌软文营销案例
  • 做淘客要有好的网站上海百度seo
  • 网站建设 seojsc宁德seo推广
  • 建立网站的作用信息流优化师工作总结
  • 如何建设物流网站近期时事新闻
  • 网站开发大赛发言稿网址搜索
  • 论坛类型的网站怎么做拉新推广平台有哪些
  • pc官方网站视频专用客户端app
  • 成都哪家做网站建设比较好搜索关键词排名查询
  • 无锡网站优化推广广州网站推广运营
  • 电子商务网站开发的步骤短视频seo排名系统
  • 如何用模板做网站视频河北电子商务seo
  • 动态网站代码设计做小程序的公司
  • 网站建设软件开发的新闻北京关键词优化报价
  • 在上海做兼职在哪个网站好百度售后电话人工服务
  • 深圳网站开发招聘谁能给我个网址