摘要:
在bbs上,堆与栈的区分问题,似乎是一个永恒的话题,由此可见,初学者对此往往是混淆不清的,所以我决定拿他第一个开刀。 首先,我们举一个例子: void f() { int* p=new int[5]; } 这条短短的一句话就包含了堆与栈,看到new,我们首先就应该想到,我们分配了一块堆内存,那么指针p呢?他分配的是一块栈内存,所以这句话的意思就是:在栈内存中存放了一个指向一块堆内存的指针p。在程序会先确定在堆中分配内存的大小,然后调用operator new分配内存,然后返回这块内存的首地址,放入栈中,他在VC6下的汇编代码如下: 00401028 push 14h 0040102A cal. 阅读全文
摘要:
最近两个月没有更新博客,主要是刚来到研究生的生活,特别是科研能力不是很强的我,有一点慌乱,什么都想看,但是又不知哪些对自己才是有用的,经过这两个月的经历,我想说说自己的感想。 作为一个学习模式识别专业的研究生,之前在大学又没有太多的编程经验,进入研究生后的生活会有很大的变化,当然首先要变的是思想,其次是能力。 思想上的变化的主要有:1)对于编程的理解,编程不只是那些语言的规则,而是算法的理解,如果你不理解这个算法,那么你知道再多的变成规则也不会编出好的程序,因此你应该在算法上多下点功夫,把重点放在如何去解决问题而不是如何去实现。2)对于论文的理解:直到大四做毕业设计我都不愿意看外国文献,而且. 阅读全文