c++
jwybobo2007
站在脚下看世界
展开
-
linux下avi文件解析(附源码)
前段时间由于项目需要,要解avi文件,当时我第一时间想到用ffmpeg来处理,但想想觉得太大了,又是放到arm上跑的,感觉没必要。然后,搜索引擎上稍微搜了一下,没找到有用的示例,大部分都是利用windows的api进行读写,很明显linux下用不了。结果花了2-3天时间研究并写了一个avi文件的解封装代码,但是后来因某些原因没有去使用AVI了,所以代码也没进行后续的完善优化。这里贴出来供记录以及需原创 2012-06-18 16:57:18 · 5896 阅读 · 17 评论 -
stl容器在循环遍历中删除元素的方式
在实际的应用中,会碰到需要遍历容器中的元素,并且在判断某些的条件后,将某个元素从容器中清除的场景:#include #include #include #include #include #include templatevoid del(T t, int pos){ // 测试循环遍历中的删除操作 int i = 0; for (typename T::iter原创 2013-03-12 15:17:57 · 3711 阅读 · 0 评论 -
gdb分析coredump的几个常用命令介绍
1.info proc mappings显示各个模块(可执行程序、动态库等)segment映射的虚拟内存地址列表2.info register显示寄存器的值例:(gdb) info registerrax 0xdbbb6a00007f719b -2613378610517544549rbx 0x9e4b82c0 2655748800rcx 0x3 3rdx 0x0 0rsi原创 2020-12-09 10:35:22 · 824 阅读 · 0 评论 -
c++传递数组大小的方式
1.参数夹带法void fun(int a[], int size){printf("size: %d\n", size);}2.数组引用传递法(缺点,实参数组大小必须和型参匹配)void fun1(int (&a)[100]){print原创 2011-09-04 16:11:46 · 920 阅读 · 0 评论 -
不使用局部变量编写strlen
int strlen(char *pstr){ if (*pstr != '\0') return (strlen(++pstr) + 1); else return 0;}使用递归方式实现原创 2011-09-08 14:49:18 · 431 阅读 · 0 评论 -
在C++泛型编程中如何只特化类的某个成员函数
我们知道在C++模板编程中如果我们特化或是偏特化某个模板类, 我们需要重写整个模板类中的所有函数, 但是这些代码通常是非常相似的, 甚至在某些情况下可能只有一两个函数会不一样,其他函数都是一样的。在这种情况下,同时存在多份相同的代码,对我们维护这些代码是非常不利的, 我们最好只需要特化其中不一样的那个函数。比如下面这个模板类: templatestruct Base转载 2013-03-28 16:46:49 · 876 阅读 · 0 评论 -
QSlider样式qss美化
QSlider { background-color: rgba(22, 22, 22, 0.7); padding-top: 15px; padding-bottom: 15px; border-radius: 5px;}QSlider::add-page:vertical { background-color: #FF7826; width:5px; border-rad...原创 2018-12-26 14:43:56 · 2967 阅读 · 2 评论