功能开发小技巧
文章平均质量分 61
记录日常开发小技巧以及知识点
梦想患者
奋斗加油
展开
-
c++使用_beginthreadex创建线程
用_beginthreadex(),来创建线程类。方便使用原创 2024-06-07 14:45:31 · 611 阅读 · 0 评论 -
简单模拟vector的特性,同时浅谈erase操作后,迭代器失效的原因
在构造函数中,start和finish指针,指向开辟空间的首地址,end_of_storage指向最后的地址。push_back()函数,在传入值时,所占空间已满,开辟之前二倍的空间,并将之前的值拷贝到刚开辟的空间中,同时,释放原来的空间,finish指针向后移动。成员函数,此函数,在STLvector中,通过vs2015测试时,通过迭代器删除一个元素时,不管它“*”取值,还是++操作,都会崩溃。(至此,我在模拟时,也进行了位置的偏移),从这里可以看到,并不是因为野指针的缘故。............原创 2022-07-21 17:25:22 · 317 阅读 · 1 评论 -
C语言,声明和实现放在头文件中
C语言,声明和实现放在头文件中原创 2023-03-08 10:54:11 · 449 阅读 · 0 评论 -
工厂方法实现
手动实现工厂方法,支持对象的注册和删除。(注意在头文件声明的map,在.cpp中需要定义)//animal.h#pragma onceclass animal{public: virtual void run() = 0;private:};class Dog:public animal{public: virtual void run();private:};class Cat :public animal{public: virtual void ru原创 2022-04-25 16:50:18 · 194 阅读 · 0 评论 -
_stdcall 添加与否的作用
作用:函数采用从右到左的压栈方式,自己在退出时清空堆栈。添加时,减少了指令的使用。将问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget(); } 原因原创 2021-10-23 22:28:16 · 313 阅读 · 0 评论 -
局部变量地址变化
在栈中,局部变量地址由高地址到低地址存放。int类型之间地址值相差12字节。int类型 与char类型 之间,位置的不同,地址相差的址也不同。通过查看栈上连续定义的int变量,地址相差12个字节_weixin_34220623的博客-CSDN博客作者告诉我们 ,在地址前后有四字节的地址解释说明。通过以上结果可知,i,m(int类型之间)的地址相差12个字节。m,n(int 和char)之间相差9个字节。n,p(char和int)之间相差15个字节。同时,通过观察,数组最高位置,在p之下。因为P...原创 2021-11-05 11:02:49 · 739 阅读 · 0 评论 -
C方式模拟c++特性
用C语言模拟c++封装、继承、多态三大特性。原创 2022-04-19 10:04:12 · 220 阅读 · 0 评论