免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2218 | 回复: 5
打印 上一主题 下一主题

[C++] 提问:c++ new 匿名类 方法覆盖 [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-21 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-10-18 18:22 |只看该作者 |倒序浏览
大家好,
          请教大家一个问题。

          1 目的:为了集中相关代码于相关cpp。
          2 想法:在使用线程时,想通过new 匿名线程类,并且覆盖类方法。语法该怎么写。代码如下:
  1. void CPartFile::FlushBuffer(bool fromAICHRecoveryDataAvailable)
  2. {
  3.         m_nLastBufferFlushTime = GetTickCount();

  4.         if (m_BufferedData_list.empty()) {
  5.                 return;
  6.         }

  7.         CThreadScheduler::AddTask(new CFlushBufferTask(this){

  8.           void Entry()
  9.           {
  10.                 // run some thing here.
  11.           }
  12.          
  13.           void OnExit()
  14.           {

  15.           }
  16.         });
  17.        

  18.         uint32 partCount = GetPartCount();
  19.         // Remember which parts need to be checked at the end of the flush
  20.         std::vector<bool> changedPart(partCount, false);
复制代码
上面写法无法通过编译,请问该怎么写。谢谢。@windoze

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-21 06:20:00
2 [报告]
发表于 2015-10-18 18:29 |只看该作者
看过的人。请帮忙说说 。这么做可行么?

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
3 [报告]
发表于 2015-10-18 20:26 |只看该作者
你Java写多了。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-21 06:20:00
4 [报告]
发表于 2015-10-18 21:42 |只看该作者
回复 3# windoze
确实是从andriod那里看到的类似的结构,感觉很还不错。amule的flushBuffer每次都使主进程卡顿住。想把它改流畅些。
可把partfile相关的业务代码单独再放个cpp感觉维护起来太乱了。有其他建议么?


   

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
5 [报告]
发表于 2015-10-18 21:55 |只看该作者
回复 4# moxies

  1. std::thread([=](){
  2.     // run something here
  3.     // then exit
  4. }).detach();
复制代码

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-21 06:20:00
6 [报告]
发表于 2015-10-18 21:59 |只看该作者
回复 5# windoze

多谢版主。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP