免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: cppfans6
打印 上一主题 下一主题

C++真好,努力学习中。。。。。。 [复制链接]

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
41 [报告]
发表于 2011-09-08 21:37 |只看该作者
那是Qt自己搓。
OwnWaterloo 发表于 2011-09-08 21:14



    gtkmm 如何?

评分

参与人数 1可用积分 +1 收起 理由
OwnWaterloo + 1 非得用静态类型语言去写gui不可?

查看全部评分

论坛徽章:
0
42 [报告]
发表于 2011-09-08 21:41 |只看该作者
C++框架? OOP? 这才是把C++狭隘化了。 人家(ISO)C++从来就不只是面向对象语言。
另外,除了精通C/C+ ...
OwnWaterloo 发表于 2011-09-08 21:37



   我认为 广义的OO就是用人们认识事物的思维方法去写程序,这个你没异议吧?

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
43 [报告]
发表于 2011-09-08 21:44 |只看该作者
回复 37# zhujiang73


    "m4是m16短管型可用积分 + 1 "   是改进以后的短管型,可靠性好很多,我的分回来了。

论坛徽章:
0
44 [报告]
发表于 2011-09-08 21:45 |只看该作者
回复  zhujiang73


    "m4是m16短管型可用积分 + 1 "   是改进以后的短管型,可靠性好很多,我的分回 ...
zhujiang73 发表于 2011-09-08 21:44



    你参与讨论只为分?{:3_183:}

评分

参与人数 1可用积分 -1 收起 理由
zhujiang73 -1 感同身受一下

查看全部评分

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
45 [报告]
发表于 2011-09-08 22:00 |只看该作者
回复  zhujiang73

原来你纠结的是成员函数……   arg都传过去了,调用成员函数还能难住你了? 果然面向 ...
OwnWaterloo 发表于 2011-09-08 20:41



     没有委托的时候,我喜欢这样的。
  1. #include <iostream>
  2. #include <queue>
  3. #include <glibmm/random.h>
  4. #include <glibmm/thread.h>
  5. #include <glibmm/timer.h>


  6. namespace
  7. {

  8. class MessageQueue : public sigc::trackable
  9. {
  10. public:
  11.   MessageQueue();
  12.   ~MessageQueue();

  13.   void producer();
  14.   void consumer();

  15. private:
  16.   Glib::Mutex mutex_;
  17.   Glib::Cond cond_push_;
  18.   Glib::Cond cond_pop_;
  19.   std::queue<int> queue_;
  20. };


  21. MessageQueue::MessageQueue()
  22. {}

  23. MessageQueue::~MessageQueue()
  24. {}

  25. void MessageQueue::producer()
  26. {
  27.   Glib::Rand rand (1234);

  28.   for(int i = 0; i < 200; ++i)
  29.   {
  30.     {
  31.       Glib::Mutex::Lock lock (mutex_);

  32.       while(queue_.size() >= 64)
  33.         cond_pop_.wait(mutex_);

  34.       queue_.push(i);
  35.       std::cout << '*';
  36.       std::cout.flush();

  37.       cond_push_.signal();
  38.     }

  39.     if(rand.get_bool())
  40.       continue;

  41.     Glib::usleep(rand.get_int_range(0, 100000));
  42.   }
  43. }

  44. void MessageQueue::consumer()
  45. {
  46.   Glib::Rand rand (4567);

  47.   for(;;)
  48.   {
  49.     {
  50.       Glib::Mutex::Lock lock (mutex_);

  51.       while(queue_.empty())
  52.         cond_push_.wait(mutex_);

  53.       const int i = queue_.front();
  54.       queue_.pop();
  55.       std::cout << "\x08 \x08";
  56.       std::cout.flush();

  57.       cond_pop_.signal();

  58.       if(i >= 199)
  59.         break;
  60.     }

  61.     if(rand.get_bool())
  62.       continue;

  63.     Glib::usleep(rand.get_int_range(10000, 200000));
  64.   }
  65. }

  66. }


  67. int main(int, char**)
  68. {
  69.   Glib::thread_init();

  70.   MessageQueue queue;

  71.   Glib::Thread *const producer = Glib::Thread::create(
  72.       sigc::mem_fun(queue, &MessageQueue::producer), true);

  73.   Glib::Thread *const consumer = Glib::Thread::create(
  74.       sigc::mem_fun(queue, &MessageQueue::consumer), true);

  75.   producer->join();
  76.   consumer->join();

  77.   std::cout << std::endl;

  78.   return 0;
  79. }
复制代码

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
46 [报告]
发表于 2011-09-08 22:11 |只看该作者
回复 41# zhujiang73


    "非得用静态类型语言去写gui不可?可用积分 + 1 "   gtk / gtkmm 有一个解释引擎,界面可以用 xml 描述,然后还有一个可视化界面设计工具,或者还可以:

论坛徽章:
0
47 [报告]
发表于 2011-09-08 22:12 |只看该作者
回复 42# cppfans6

異議あり!

你得先证明所有“人们认识事物的思维方法”都能用“广义的OO”来解释才算有说服力。
或者说,“人们认识事物的思维方法”中不存在和OO无关的方法。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
48 [报告]
发表于 2011-09-08 22:14 |只看该作者
我认为 广义的OO就是用人们认识事物的思维方法去写程序,这个你没异议吧?
cppfans6 发表于 2011-09-08 21:41


认识事物的思维方法写程序???
噢, OO信徒麻烦就在于: 他们的腐烂是从根部开始的 —— 没得救。

如果不将某个参数特殊对待为并称为object, 不将绑定了这种特殊参数的函数称为method, 概念会更简洁且统一。
可以避免:
C++: 静态/非静态成员函数, 成员函数指针, const/volatile成员函数
C#, Java: class finder { public static find(...) }, extension method
python: bounded vs unbounded method
js: f.call/apply(context, arg...)

lua 在函数调用上就没这么多仅仅是为了迎合大众口味的不必要的的概念, 函数与其调用方式只有一种, 没那么多乱七八糟的东西。
lisp从一开始就不耻这种东西。

论坛徽章:
0
49 [报告]
发表于 2011-09-08 22:16 |只看该作者
回复  cppfans6

所有软件牛人?  软件牛人是什么? 下面三位算吗?
1. Bjarne Stroustrup(C++之父)
2 ...
OwnWaterloo 发表于 2011-09-08 21:01


只有Alexander Stepanov算是旗帜鲜明地反OO吧。
Bjarne Stroustrup反的是纯OO;Linus……把用C++抽象一起给反了。。- -

论坛徽章:
0
50 [报告]
发表于 2011-09-08 22:17 |只看该作者
回复 48# OwnWaterloo


    写小规模软件可以不用OO,但是大型软件你不用OO思想去设计是很危险的。

评分

参与人数 1可用积分 -1 收起 理由
OwnWaterloo -1 上面说过:OO不过是再发明而已。

查看全部评分

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP