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 · 123 阅读 · 0 评论 -
實現自己的std::vector
std::vector可以根據T的類型,自動存儲好一個列表,並有如push_back()等的接口,也重載了[],比如可以vec[0]就可以得到值,當然還有iterator 的部分;這邊僅實現push_back()和[],來做一個簡單的實現,抛磚引玉; .h template<typename T> class MyVector { private: struct MyVector_Node { T* node; MyVector_Node* next; }; public: My原创 2021-05-13 16:55:35 · 70 阅读 · 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 · 108 阅读 · 0 评论 -
server,如何使用别人的协议文件,与其他终端或者客户端进行通讯
server,如何使用别人的协议文件,与其他终端或者客户端进行通讯 1 server通讯要先定义好自己的端口号,让客户端链接 1-1 测试是否连接上了,让自己的server打印连接的ip号和端口号,来确认连接完成。 2 根据封包的协议,进行拆包和封包 2-1 拆包,包一般分为包头和内容,所以先拆出包头(一般包头会包含内容的size大小),然后根据包头来存储内容。 2-2 封包,把自己的内容封成协议需要的包,也是一样,包头加内容即可。 最后附上拆包和封包新想出的实现方案: 一般协议的包内容都是结构体struc原创 2021-01-31 15:28:31 · 147 阅读 · 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 · 107 阅读 · 0 评论