
常用编程问题分类
文章平均质量分 73
c/c++等语言基础知识,及常用的数据结构及数据类型
Acmen_voip
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用rapidjson总结,包括使用过程中遇到的一些坑
rapidjson使用过程中遇到的一些坑及rapidjson的使用总结,后面会持续更新中原创 2023-02-04 08:01:44 · 2955 阅读 · 0 评论 -
c++虚函数或纯虚函数默认构造参数相关问题
为了说明这个问题,我们先从一个简单的例子:在linux下用gcc编译后,打印的结果为0。可能有些同学会有疑问,运行结果怎么不是1呢?这里要说一下,虚函数是动态绑定的,即在运行时来确定;而默认构造参数,是在编译时就确定了,如果默认构造参数也需要在运行时确定,编译器就需要实现复杂的机制来实现,运行效率必然大打折扣,因此默认构造参数就在编译时就确定了。...原创 2020-12-26 15:27:50 · 458 阅读 · 0 评论 -
windows下通过adb向安卓设备上传文件或者从安卓设备取文件到电脑上
操作步骤如下图:原创 2020-11-12 20:26:46 · 719 阅读 · 0 评论 -
几种常见的死锁问题
在开发多线程程序时,难免会遇到死锁的问题,这里说下我在开发中遇到的几种常见的死锁问题:1、线程1先加锁A,然后再加锁B,线程2先加锁B,再加锁A 为避免这种情况,在编程时尽量减小没把锁的范围,同时尽量避免多个线程对几把锁加锁顺序不同的情况,以免出现互锁导致死锁的现象。2、同一个线程出现对同一把锁,在未解锁的情况下,多次加锁3、同一个线程,在加锁后,由于某种异常情况没有处理,导致for循环或while循环一直不能退出且锁一直被该线程占用,导致其它使用该锁的线程一直阻塞,下面是一段伪代...原创 2020-09-13 19:49:42 · 1183 阅读 · 0 评论 -
关于软件编程时序问题的一点感想
在实际开发程序的过程中,经常会遇到一些由于时序的先后顺序,导致产生一些奇奇怪怪的问题,比如:消息A先到达,消息B后到达,消息A处理完成后,再处理消息B,程序就正常运行(即达到我们我们预想的结果);然而如果消息A没有处理完,就开始处理消息B,程序可能会出现我们不期望的结果。 为了避免上面问题的出现,我们可以采取将同一类消息按先后到达顺序放在同一个队列中,然后有同一个线程来处理,这样就能保证按照时序处理。...原创 2020-09-13 19:01:29 · 591 阅读 · 0 评论 -
判断当前系统存储字节序是大端还是小端
大端(big-endian):数据低字节存储在高地址,数据高字节存储在低地址;小端(little-endian):数据低字节存储在低地址,数据高字节存储在高地址。下面是一个简单的例子,来判断当前运行的系统字节序是大端还是小端:#include <stdio.h>int main(){ union{ unsigned short a; char b[2]; }un; ...原创 2020-09-05 10:46:08 · 275 阅读 · 0 评论 -
怎样将Json::Vaule对象赋给std::string对象,使用不当可能会导致程序抛出异常导致程序崩溃
昨天在赶客户的一个项目时,程序中有个地方需要将一个Json::Value对象转换成std::string字符串,我直接将Json::Value中asString()的范围值赋给了一个std:string对象的变量,结果导致程序崩溃,通过调试gdb调试coredump时,发现std::string a = params.asString()时在asString()函数时抛出异常崩溃了,后来改成std...原创 2020-02-14 08:01:36 · 799 阅读 · 0 评论