草庐IT

event_count

全部标签

c++ - Win32中是否有C++跨平台 "named event like the "CreateEvent()”?

我正在寻找类似于Win32世界中的CreateEvent()、SetEvent()和WaitForMultipleObjects()的东西。具体来说,这必须可以在同一台机器上跨进程访问。我们已经将Poco用于一些跨平台的东西,但我没有看到Poco::Event是我想要的。也许我遗漏了什么。编辑:解释我想做什么:我希望进程B知道进程A何时发生某些事情。这在win32中是微不足道的-每个进程/线程调用CreateEvent()并为事件命名。当发生某些事情时,进程B调用waitForXObject()并且进程A调用SetEvent()。B发出信号。同样,这在win32中很简单,但如何跨平台进

C++ 使用带字符串的标准算法,带 isdigit 的 count_if,函数转换

我想以最短的代码方式计算字符串中的所有数字。我这样试过:#include#includeunsignedcountNumbers(conststd::strings){returncount_if(s.begin(),s.end(),isdigit);}错误信息是:a.cc:Infunction‘unsignedintcountNumbers(std::string)’:a.cc:5:45:error:nomatchingfunctionforcallto‘count_if(std::basic_string::const_iterator,std::basic_string::con

c# - 嵌入式单声道 : How do you raise an event in C++?

我正在开发一个嵌入了Mono的应用程序,我想将一个事件从C++层引发到C#层。这是我拥有的:void*itr(NULL);MonoEvent*monoEvent;while(monoEvent=mono_class_get_events(klass,&itr)){if(0==strcmp(eventName,mono_event_get_name(monoEvent)))raiseMethod=mono_event_get_raise_method(monoEvent);}但是,raiseMethod总是返回NULL。查看MonoEvent的结构,似乎填充了add和remove方法,但

c++ - 为什么 shared_ptr 实现中的 ref_count 是 int*

我见过几个shared_ptr的实现,例如here.它们都将ref_count声明为int*。我不明白如果它只是一个int我们会失去什么。谢谢!templateclassshared_ptr{T*ptr;int*ref_count;/***Initializestherefcountusedfortrackingtheusage.*/voidinitialize_ref_count(){if(ref_count!=nullptr)return;try{ref_count=newint;*ref_count=1;}catch(std::bad_alloc&e){std::cerr

c++ - C++ STL set容器的count()方法为什么这样命名?

它真正检查的是contains()而不是出现的次数,对吧?也不允许重复,所以contains()不是比count()更好的名字吗? 最佳答案 这是为了使其与其他容器类保持一致,因为多态性的一个重要方面是能够使用相同的API处理不同的类。它确实实际上返回了计数。一个集合的计数只能为零或一个这一事实不会改变这一方面。它与集合对象根本上并没有什么不同,后者只允许同时具有每个“值”的两个事物。在那种情况下,它会返回零、一或二的计数,但它仍然是一个计数,与集合相同。标准的相关部分是C++1123.2.4,其中讨论了关联容器set、multis

c++ - Boost中irange和counting_range的区别

irange之间有什么区别?和counting_range?我需要irange来快速生成一系列整数,如下所示:autoexample=boost::irange(0,5);///resultis{0,1,2,3,4}但是注意到某处的一个示例(链接丢失),该示例使用counting_range来完成相同的任务。对这两者的区别有简单的解释吗? 最佳答案 主要区别在于irange是一个随机访问范围,而counting_range不是。counting_range基于Boost.Iterator的counting_iterator它直接使用

c# - 编程竞赛题目: Counting Polyominos

请看我自己的回答,我想我做到了!你好,编程竞赛的一个示例问题是编写一个程序,找出给定数量的石头可能有多少个多米诺骨牌。所以对于两block石头(n=2)只有一个多联骨牌:XX您可能认为这是第二种解决方案:XX但事实并非如此。如果可以旋转,则多联骨牌不是唯一的。所以,对于4个石头(n=4),有7个解决方案:XXXXXXXXXXXXXXXXXXXXXXXXXXXX应用程序必须能够找到1的解决方案PS:使用listofpolyominosonWikipedia不允许;)编辑:当然问题是:如何在Java、C/C++、C#中执行此操作我是用Java开始这个项目的。但后来我不得不承认我不知道如何使

c++ - count_until 和 accumulate_until 的实现?

给定输入序列,标准算法std::count和std::accumulate分别计算特定值(或std::count_if的谓词匹配)的出现次数和给定关联运算(求和、乘积、bool或/和、最小/最大值、字符串连接等)的累积。如果想知道输入序列是否恰好/至少/至多包含n怎么办?出现/匹配,或累积到恰好/至少/至多n的总和?蛮力方法是比较std::count的结果或std::accumulate针对目标n,但是当计数或累积超过输入序列的一半时,这将错过提前退出的机会。例如,做一个count_until作为templateautocount_until(InputItfirst,InputItl

c++ - 当所有元素都应该是唯一的时,为什么 STL set 有 count()?

我能理解multiset有count(),用来统计一个值出现的次数,因为multiset中元素可以重复。但是,当所有值都已经唯一时,设置count()有什么意义呢? 最佳答案 count是associativecontainerrequirements的一部分(1)。每个关联容器都需要将其作为其接口(interface)的一部分提供,即使结果始终为零或一(如std::set的情况)。(1)这是描述关联容器概念的SGISTL文档的链接;C++标准中定义的概念可能略有不同,但差别不大。 关于

windows - C++11 + SDL2 + Windows : Multithreaded program hangs after any input event

我正在使用C++11、MinGW和WindowsAPI开发屏幕捕获程序。我正在尝试使用SDL2实时观察我的屏幕捕获程序是如何工作的。窗口打开正常,只要我只移动鼠标光标,程序似乎运行良好。但是如果我在窗口中单击它的菜单栏,在窗口外,或者按任意键,SDL窗口就会卡住。我已经为事件设置了一些日志记录以弄清楚发生了什么。除了SDL_WINDOW_FOCUS_GAINED之外,我从未收到任何事件,SDL_TEXTEDITING,和SDL_WINDOWEVENT_SHOWN以该顺序。所有这些都是在开始时收到的。我试图找到有关SDL事件处理的教程,因为这是我对问题根源的最佳猜测。除了基本的事件处理之