这两天较系统的看了下C++的基本用法,对比自己对Java理解,感觉就是C++特性远远多于Java,语法上兼容C,更加贴近系统和底层,对内存操作非常的灵活。如:
C++中类的对象可以开辟在栈空间中。Java类的对象都必须用new关键字开辟在堆中;
C++的基本数据类型也可以用new开辟在堆中。Java基本数据类型只能开辟在栈中,除非使用包装类包装成对象;
C++用new开辟的内存必须手动delete,否则内存泄露。Java则有著名的垃圾回收;
C++传参可以传值和传引用,也可以配合指针传对象地址,自己来决定。...
分类:
编程语言 时间:
2014-05-07 08:45:33
阅读次数:
353
1.同一个文件在每次调用输入输出函数时,都将产生一个新的ferror()函数值,因此在调用输入输出函数后应该立即检查ferror的函数值,否则信息会丢失。
2.使用临时文件中需要考虑以下两个问题。
保证临时文件间的文件名不互相冲突
保证临时文件中的内容不被其他用户偷看、删除、修改。
3.使用目录时需要考虑以下几点。
信息量大小。目录适合存放小的信息量,可以利用指针指向大的文件...
分类:
编程语言 时间:
2014-05-07 07:55:13
阅读次数:
329
给你一个数组,O(N)时间找出某些个数,这些题如果没见过,还真不是很好想。做了这些题,我觉得有下面两个个比较常见的思路:
1. 用两个指针,可以从一边开始,走某个距离停止,也可能是一头一尾两个指针,定义一种大小关系,他俩比较之后移动,直到相遇。
2. 用其他的辅助的数据结构,可能是hash表,可能是map,可能是栈或者队列。这种通常用在访问了现在的不能确定他们是不是有用,是不是能影响最后的结果...
分类:
其他好文 时间:
2014-05-07 07:50:33
阅读次数:
392
package mydata;
public class MyMergeSort {
/**
*
* 1.递归拆分
* 2.合并
* 归并排序 先将初始的序列表看成是n个长度为1的有序表
* (1)定义指针i,指向第一个序列表的第一个元素
* (2)定义指针j,指向第二个序列表的第一个元素
* (3)比较i,j指向的元素大小,若前者大,将后者插入到新表中 否...
分类:
编程语言 时间:
2014-05-07 06:21:54
阅读次数:
275
最近正在进行《Effective C++》的第二遍阅读,书里面多个条款涉及到了shared_ptr智能指针,介绍的太分散,学习起来麻烦,写篇blog整理一下。
LinJM @HQU
2014/05/05
shared_ptr是一个智能指针。在C++ 11颁布之前,它包含在TR1(Technical Report 1)当中,现在囊括在C++11的标准库中。
智能指针
智能指...
分类:
其他好文 时间:
2014-05-07 05:50:43
阅读次数:
437
信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为:
extern int sem_init __P((sem_t *__sem, int __pshared, unsigned int __value));
sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线程共享;...
分类:
其他好文 时间:
2014-05-07 05:05:19
阅读次数:
307
Cortex-M3有以下特点:
1、32位内核
2、哈佛结构
3、大小端模式
4、可选的MPU
5、Thumb可以访问R0-R7,Thumb-2可以访问所有寄存器。
6、R13有两个,MSP和PSP,堆栈指针的最后两位为0,堆栈是4字节对齐。
7、R14存储子程序的返回地址。多于一级的,就保存到堆栈中。
8、
异常
特权级
用户级
异常handler...
分类:
其他好文 时间:
2014-05-07 03:21:37
阅读次数:
214
下图是一个创建好的链表
下面我们需要删除一个结点,例如删除第3个结点
首先定义一个指针p,并且将p指向第二个结点
然后定义一个指针q,将q指向需要删除的结点
将p指向的结点和q指向的结点相连
p->pNext = q->pNext
清空q指向的结点
free(q);
q = NULL;
删除后的链表
程序代码:
...
分类:
其他好文 时间:
2014-05-06 15:32:46
阅读次数:
325
句柄类
句柄类的出现是为了解决用户使用指针时需要控制指针的加载和释放的问题。用指针访问对象很容易出现悬垂指针或者内存泄漏的问题。
为了解决这些问题,有许多方法可以使用,句柄类就是其中之一。句柄类是一种包装类,用于存储和管理基类的对象指针,减轻用户使用对象的负担。句柄类使用指针执行操作,虚成员由于既可以指向基类型又可以指向派生类型,所以其行为将在运行时根据句柄实际绑定的对象而变化。
...
分类:
编程语言 时间:
2014-05-06 15:24:34
阅读次数:
514
由做UVa133引发的一系列问题及讨论
1.引用类型 C++ Primer P51
引用就是对象的另一个名字,使用多个变量名指向同一地址。实际程序中,引用主要用作函数形参。
复合类型。不能定义引用类型的引用,但可以定义任何其他类型的引用。
格式: 类型名& 标示符=已声明的常变量;
2.引用形参 C++ Primer P201-205
非引用形参有普通的、指针形参、con...
分类:
其他好文 时间:
2014-05-06 14:43:57
阅读次数:
510