- 博客(11)
- 收藏
- 关注
原创 C++异常之栈自旋
在C++的异常处理中,当异常被throw后,从进入try块起,到异常被catch前,在这期间栈上构造的所有对象都会被自动析构,这一过程称之为栈自旋。 一、对于栈上的对象#include <iostream>using namespace std;class A{public: A() { cout<<"A()"&l...
2018-10-17 20:28:57
279
原创 恩智浦智能车竞赛电磁直立组国一之速墨二队2018回顾与总结
2018年,我和我队友的第二年智能车生涯结束了,其中的酸甜苦辣让我们成长了很多,感谢队友的付出,感谢帮助过我们的人,没有团队的合作,就没有今天的我们。一、经验总结 本人也是渣渣一枚,在这里分享一些做车的经验 1.关于感悟。。两年的智能车比赛让我感悟最深的就是四个字“因果得失”。注意到并解决的问题最终成为成功的因素,注意到却不以为然的问题最终会成为失败的根源。真的,有...
2018-09-18 21:58:35
5084
3
原创 bh1745nuc彩色传感器开发,采集RGB数据,计算色温和亮度,附模拟i2c源码
最近到手了一个罗姆系列的颜色传感器,叫做bh1745nuc,它可以通过运用特有的红外线去除技术和运算方式实现业界最高的红外线去除特性,将红外线的影响降低至以往产品的1/10以下。以往彩色传感器,即便是受到红外线影响无法正确感应的昏暗(透射率低)的光学窗口,也能精确检测出照度、色温。一、什么是RGB 从它官方的datasheet上了解到,它输出数据为16bit的RGBC,什么是RGB...
2018-09-18 21:05:18
8152
10
原创 C语言中typedef和define的区别
正确思考typedef和宏文本替换直接的区别关键在于就是把typedef看成一种彻底的“封装”类型——在声明它之后不能在里面增加别的东西。它和宏的区别主要体现在两个方面。 一、可以用其他类型说明符对宏类型名进行扩展,但对typedef所定义的类型名却不能这么做:#define peach intunsigned peach i; /*没问题*/typedef int banana...
2018-03-19 22:05:46
1265
原创 C语言中联合(union)的一个有意思的用途
联合(union)在许多其他语言中称作变体记录(variant record),在联合中 ,所有的成员都从偏移地址零开始存储,这样,每个成员的位置都会重叠在一起。 按照这种特性,联合可以把同一个数据解释成两种不同的东西,而不是把两个不同的数据解释为同一个东西,该用法的例子如下: union bits32_tag { int whole; //一个32位的值 s...
2018-03-15 22:00:46
2552
转载 C语言小心使用realloc函数
原文地址:编写安全代码:小心使用realloc原文作者:gfree.wind@gmail.com编写安全代码,小心使用realloc在良好的代码风格中,其中有一项要求就是,一个函数只做一件事情。如果该函数实现了多个功能,那基本上可以说这不是一个设计良好的函数。今天看C库中的函数realloc。其原型是void *realloc(void
2018-01-24 01:39:56
1312
原创 C语言编程细节之n=-n的问题
我相信在C编程的时候都会遇到过这样一段类似的代码:int n;...if (n < 0) n = -n;...乍一看没有什么问题,其实在里面隐藏了一个玄机:n会溢出!为什么呢?因为n是一个有符号整型,可以表示的范围是(假设这台机器int字长为4)-2^32~2^32-1,负数表示的范围比正数要大1,所以如果n为负,在执行n=-n的过程中就可能出现溢出的情况。解
2018-01-24 01:27:29
2378
原创 二分查找法的实现(数组形式)
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构。二分查找法虽然有很多不同的写法,但是殊途同归,大多都是改变了左右边界的取值以及中间比较值的计算方法。下面是一种最常用的写法:/*二分查找入口参数:指向已经排序完的顺序表表头的指针,表中元素个数,待查找的数值返回值:指向待查找元素的指针,不满足要求返回N
2018-01-19 21:50:35
257
原创 C中二级指针与它指向的一级指针之间的秘密(深入++*pptr)
C语言里二级指针的意思是指向指针的指针,一级指针就是普通的指针,一个二级指针一定是对应着一个一级指针,那么二级指针和这个它对应的一级指针之间有什么秘密呢?1. 首先明白在二级指针使用中 ++*pptr 与 *pptr++ 之间的区别首先申明一下,这里的pptr和标题中的一样,都代表着指向指针的指针,是一个二级指针,所以用了两个'p'来表示嘛。接下来看下面的代码:int ma
2018-01-08 22:52:23
770
1
原创 单链表反转/逆序任意长度
单链表的反转(逆序)在笔试与面试的场合中出现的频率很高,说明这个对我们掌握单链表有很大的帮助。那么什么是单链表的反转呢?反转通常指将一组数据全部按与原来相反的顺序排列,例如1,2,3,4反转后就是4,3,2,1了,这个不难理解。可是对于单链表来说,就不像堆积木一样这么简单了,但也不是很难。魔站上对于单链表的反转有很详细的代码与说明,我觉得写的很好,我在这就不再写了,直接
2018-01-07 22:29:51
469
原创 C语言里函数指针的两种常见用途(回调函数与转移表)
在《C和指针》这本书里,我看到了两种C函数指针的常见用法,所以将它整理出来 。函数指针虽然我们不是每天都会用到它,但它的确有它的用武之地:1. 回调函数在单链表的查找中,会遇到由于要查找的数据类型不同导致需要编写不同类型的查找函数,所以为了方便,这里运用回调函数法。1.1 查找函数/*使用回调函数法,将比较函数作为一个函数指针进行参数传递,达到只用编写一个查找函数,通过编写
2018-01-07 20:46:23
2603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人