
c++
weixin_45661658
这个作者很懒,什么都没留下…
展开
-
c++ qt lambda表達式參數值不一樣的bug
我在一個方法中使用了QTimer和lambda表達式,後來發現傳入的參數的值變了,找了一下,終於知道了bug的原因,錯誤代碼如下:void ModbusManagement::checkResult(Modbus_Order order){ qDebug()<<"check PLC:"; qDebug()<<"order type is :"<<order.order_type<<order.boxOut_id<<order.e原创 2021-08-11 10:12:21 · 157 阅读 · 0 评论 -
實現自己的std::vector
std::vector可以根據T的類型,自動存儲好一個列表,並有如push_back()等的接口,也重載了[],比如可以vec[0]就可以得到值,當然還有iterator 的部分;這邊僅實現push_back()和[],來做一個簡單的實現,抛磚引玉;.htemplate<typename T>class MyVector{private: struct MyVector_Node { T* node; MyVector_Node* next; };public: My原创 2021-05-13 16:55:35 · 99 阅读 · 0 评论 -
pthread_create c++ 成員函數
當我想要使用類來封裝server的時候,遇到之前的pthread_create() 接口不能直接使用的情況,這樣必須要把相關的綫程函數設置成static的模式,class C{public: void *hello(void) { std::cout << "Hello, world!" << std::endl; return 0; } static void *hello_helper(void *conte原创 2021-02-02 10:47:05 · 144 阅读 · 0 评论 -
server,如何使用别人的协议文件,与其他终端或者客户端进行通讯
server,如何使用别人的协议文件,与其他终端或者客户端进行通讯1 server通讯要先定义好自己的端口号,让客户端链接1-1 测试是否连接上了,让自己的server打印连接的ip号和端口号,来确认连接完成。2 根据封包的协议,进行拆包和封包2-1 拆包,包一般分为包头和内容,所以先拆出包头(一般包头会包含内容的size大小),然后根据包头来存储内容。2-2 封包,把自己的内容封成协议需要的包,也是一样,包头加内容即可。最后附上拆包和封包新想出的实现方案:一般协议的包内容都是结构体struc原创 2021-01-31 15:28:31 · 175 阅读 · 0 评论 -
虛函數的使用
虛函數的使用:目的:為了讓類的指針和類的對象可以調用到想調用到函數;原理:1 虛函數:virtual func();2 有一個以上虛函數的類都會隱藏的有一個成員變量:ptr_vtable(指向vtable的指針)3 vtable用來存儲虛函數的指針的表;4 在構造函數的時候會初始化ptr_vtable;(所以不會有虛構造函數)代碼解析:#include <iostream> class A{public: void func1() {原创 2021-01-11 11:41:08 · 128 阅读 · 0 评论