草庐IT

event_count

全部标签

c++ - boost::asio 从/dev/input/event0 读取

我希望使用boost::asio来读取12位数字键盘。我目前可以通过这种方式在没有boost的情况下做到这一点:fd=open("/dev/input/event0",0_NONBLOCK);read(fd,&ev,sizeofev);你知道我如何用boost::asio做到这一点吗?我正在使用Linux和C++。这post还有这个post很有用。我不会使用串行端口端口(io,“/dev/usb/hiddev0”),因为它不是串行的,对吧?谢谢。 最佳答案 在我的系统中,event2代表鼠标,下面这个简单的readloop程序就像一

C++ count_if 函数 - 无法推断模板

我正在尝试使用C++的count_if函数来查看std::string中有多少个十六进制数字。当我尝试以下操作时:strings="123abc";cout我收到以下错误:count.cpp:14:13:error:nomatchingfunctionforcallto'count_if'cout但是,当我使用::isxdigit时,程序会编译并运行。我知道在::之前添加与在全局范围内使用isxdigit有关,但我不确定为什么它在这种情况下有帮助。我也认为它与C++语言环境有关,但我对它们不太熟悉。谢谢! 最佳答案 有一个函数int

c++ - 哪个更好 : Function overriding or passing a function pointer for event handling

因此,我正在为一个类编写代码,该类将进入一个供其他人使用的库。此类将拦截和处理传入的消息(细节并不重要,但它使用activemq-cpp库)。这个消费类的轮廓是classMessageConsumer{...public:voidrunConsumer();virtualvoidonMessage(constMessage*message);}其中runConsumer()建立连接并开始监听,并在收到消息时调用onMessage()。我的问题是:使用此代码的人将各自有自己的方式来处理不同的消息。我怎样才能保持MessageConsumer通用但提供这种灵active,同时保持代码简单?

c++ - boost shared_ptr use_count 函数

我的申请问题如下-我有一个大结构foo。因为它们很大并且出于内存管理的原因,我们不希望在数据处理完成后删除它们。我们将它们存储在std::vector>.中我的问题与了解所有处理何时完成有关。第一个决定是我们不希望任何其他应用程序代码在结构中标记一个完整的标志,因为程序中有多个执行路径,我们无法预测哪一个是最后一个。因此在我们的实现中,一旦处理完成,我们将删除boost::shared_ptr>的所有拷贝除了vector中的那个。这会将shared_ptr中的引用计数器降为1。使用shared_ptr.use_count()查看它是否等于1以了解我的应用程序的所有其他部分何时处理完数据

c++ - 共享指针不增加 use_count

我正在尝试了解如何在C++中使用std::shared_ptr。但这很令人困惑,我不明白如何创建指向同一对象的多个共享指针。甚至文档和在线资料也不是很清楚。以下是我编写的一小段代码,用于尝试理解std::shared_ptr的行为:#include#includeusingnamespacestd;classNode{public:intkey;Node(){key=0;}Node(intk){key=k;}};intmain(){Nodenode=Node(10);shared_ptrptr1((shared_ptr)&node);coutptr2=make_shared(node)

c++ - 使用 const 键类型引用调用 std::set of pointers 的 count 方法

我有一个类structS{boolfoo(constAType&v)const{returnvalues.count(&v);//compileerrorduetotheconstnessofv}private:std::setvalues;};这是一个简化版本。在实际代码中,foo做了一些复杂的事情。代码产生错误invalidconversionfrom‘constAType*’to‘std::set::key_type{akaAType*}’我认为foo应该采用'constAType&v'因为它不会改变v。成员变量“values”的类型不能为std::set,因为结构S的某些方法调

c++ - valarray 上 STL 算法 "count"的返回类型是什么

我正在使用VisualStudio2010Pro在Windows764bit上机器,我想使用count(来自header)在valarray上:intmain(){valarrayv(false,10);for(inti(0);i上面程序的输出是正确的:4但是我想将值分配给变量并使用int导致编译器警告精度损失。自valarray没有迭代器,我不知道如何使用iterartor::difference_type.这有可能吗? 最佳答案 Num的正确类型会是:typenameiterator_traits::difference_typ

c++ - Qt : KeyPress event

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我是Qt的入门者,正在实现按键事件。我想以这样的方式处理键,如果按下“A”,它应该打印“R”并按下我应该打印的其他键。如何在Qt中处理此类事件...??

c++ - 这个 bitset::count() 的实现是如何工作的?

下面是std::bitset::count与MSVC2010的实现:size_tcount()const{//countnumberofsetbitsstaticchar_Bitsperhex[]="\0\1\1\2\1\2\2\3\1\2\2\3\2\3\3\4";size_t_Val=0;for(int_Wpos=_Words;0>=4)_Val+=_Bitsperhex[_Wordval&0xF];return(_Val);}有人可以向我解释这是如何工作的吗?_Bitsperhex有什么诀窍? 最佳答案 _Bitsperhex

c++ - 为什么没有给 std::forward_list 一个 count() 成员函数?

我明白为什么std::forward_listdoesnothaveasize()memberfunction,因为O(1)版本会搞乱某些splice()的复杂性过载,并且由于O(N)version将与标准库的所有其他容器不一致。这也是事实std::list和std::forward_list已经有几个其他成员函数与中的表亲具有相同的语义标准库的一角(merge()、reverse()、remove()、remove_if()、unique()、sort())。那么为什么不是count()O(N)的成员函数提供给std::forward_list的复杂性具有返回std::distanc