- 博客(16)
- 资源 (36)
- 收藏
- 关注
原创 c++理论细节
1.思考一下,为头文件中定义内联函数,为什么不会出现重复包含的问题,这个原因就在,内联函数并不是调用,只是在哪用到就在哪原样展开,故不会发生重复包含的问题。2.构造函数与析构函数没有返回值,且构造函数一般不做初始化以外的事情,析构函数一般不做释放内存以外的事情3.如果一个类的数据成员是另一个类的对象,那么这个对象的初始化只能用初始化列表进行初始化。4.调用拷贝构造函数的三种情况: ...
2014-08-28 12:43:37 689
原创 c++引用
######c++引用***********************************************const double &rr = 1;等价于下面的代码double temp;temp = double(1);//temp = (double)1;double &rr = temp;1.首先做必要的类型转换2.然后将结果置于临时变量3.最后...
2014-08-28 11:07:36 433
原创 引用与指针
相同点:都是地址,间接操作变量不同点:1.引用不能为空,指针可以为空,引用必须初始化2.引用不可以改变指向,对一个对象“至死不渝”;但是指针可以改变指向,而指向其它对象。3.引用的大小就是指向变量的大小,因为引用只是一个别名,指针是指指针本身的大小,一般为4Byte4.引用比指针更安全,不存在空引用,且一旦初始化为指向一个对象,就不能被 改变另一个对象的引用,因此引用很安全,对指针来说可...
2014-08-28 08:34:38 438
原创 c++构造 与析构顺序
1 #include <iostream> 2 3 using namespace std; 4 5 class A 6 { 7 public: 8 A(int a = 1) 9 {10 cout<<"constructing:"<<this<<endl;11 }...
2014-08-21 12:58:26 508
原创 c++输入输出格式控制
使用这些格式需要声明包含<iomainip>long flags( ) const 返回当前的格式标志。long flays(long newflag) 设置格式标志为newflag,返回旧的格式标志。long setf(long bits) 设置指定的格式标志位,返回旧的格式标志。long setf(long bits,long field)将field指定的格式标志...
2014-08-19 09:17:01 836
翻译 绝对地址赋值与转换为函函数地址
要对绝对地址0x100000赋值,我们可以用 (unsigned int * ) 0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? *((void (*)( ))0x100000 ) ( ); 首先要将0x100000强制转换成函数指针,即: (void (*)())0x10000
2014-08-18 13:05:30 1754
翻译 判断链表是否存在环
1 2 //检测链表中是否有环经典作法 3 //用两个指针遍历链表,一个指针每次走一步,另一个指针一次走两步,当第二个指针追> 上第一个指针的时候,说明此链表有环 4 int TestLiskLoop(Link *head) 5 { 6 Link *p = head; 7 Link *q = head; 8 9
2014-08-09 20:06:55 437
原创 typedef与const
2 3 typedef char* PSTR; 4 5 int main(int argc, char *argv[]) 6 { 7 char c = 'a'; 8 const char *p = NULL; 9 const PSTR q = 'a';
2014-08-06 17:30:49 702
原创 c内存泄漏检查
#ifndef _MYMM_H#define _MYMM_H#define MM_DEBUGvoid InitMM();void EndMM();#ifdef MM_DEBUG#define MM_LOG_FILE "./mmlog.txt"void *_MyMalloc(size_t size, char *filename, int linenumber);
2014-08-05 16:38:39 736
原创 修改const修饰的变量
#include const int a = 5; //const全局常量,在静态数据区int main(int argc, char *argv[]){// const int a = 5; //const局部常量,在可读写的栈区 int *p = &a; *p = 8; printf("%d\n", a); retu
2014-08-04 20:51:08 1128
转载 sizeof特性
引用:http://www.cppblog.com/w57w57w57/archive/2011/08/09/152845.html摘要:Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性:(0)sizeof是运算符,不是函数;(1)sizeof不能求得void
2014-08-04 17:42:24 515
翻译 #define offsetof(TYPE, MEMBER) (size_t)(&(((TYPE*)0)->MEMBER))
#define offsetof(TYPE, MEMBER) (size_t)(&(((TYPE*)0)->MEMBER))1.(TYPE*)0 将0强转为TYPE类型的指针,且指向了0地址空间2.(TYPE*)0->MEMEBER 指向结构体中的成员3.&((TYPE*)0->MEMBER) 获取成员在结构体的位置,因为起始为0,所以获取的地址即为实际的偏移地址 分析
2014-08-04 15:43:34 3318
翻译 c语言中typeof关键字
c语言中typeof关键字下面这两个等效声明,用于声明int类弄的变量atypeof(int) a;typeof('b') a; //相当于获取'b'的类型,定义一个变量a下面用于声明指针和数组typeof(int*) p1,p2;typeof(p1) p2 //p1与p2的类型一致int *p1,*p2;typeof(int [10]) a1,a2;
2014-08-04 15:20:12 20609 2
翻译 memcpy
char *mymemcpy(void *pvTo, void *pvFrom, unsigned int size){ char *pbTo = (char *)pvTo; char *pbFrom = (char *)pvFrom; assert(pvTo !=NULL && pvFrom != NULL); //断言一下是否为空,如果为空则打印出错信息
2014-08-02 19:02:42 437
原创 循环右移实现代码
int ror(int x, int n){ int temp = 0; temp = ~(~0 printf("%x\n", temp); temp &= x; printf("%x\n", temp); temp = temp printf("%x\n", temp); x>>=n; return
2014-08-02 15:24:03 782
翻译 ubuntu 下用命令行上网 wget
Ubuntu自带最新版的Gnome桌面,拥有大量的服务和桌面应用程序,让您仅通过一张安装光盘就可以体验到无比舒适的操作环境。下文介绍的在ubuntu下使用终端命令行上网的方法。第一步,需要安装一个名为w3m的软件工具,打开终端,输入如下命令 sudo apt-get install w3m w3m-img -y 第二步,安装好w3m之后,在终端里面启动w3m,打开一个
2014-08-02 12:01:18 1109
dual flash driver 支持两个flash变单个设备访问
2018-06-05
TS协议分析与实际应用文档
2015-01-28
Hi3559CV100 ultra-HD Mobile Camera SoC 用户手册.pdf
2020-06-24
Hi3519AV100 4K Smart IP Camera SoC 用户指南.pdf
2020-06-24
eltt2 TPM驱动调试验证工具
2018-08-07
infineon spi TPM driver(RPi_3_SPI_TPM_Driver_And_Automatic_Driver_Load.patch)
2018-07-09
dbus 使用介绍,包含一个例子,包括配置文件介绍及自启动介绍
2018-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人