存档

文章标签 ‘指针’

STL auto_ptr智能指针简单分析

2011年10月8日 没有评论

闲着没事,整理一下对auto_ptr的理解。去年年底的时候准备认认真真的看看STL源代码,可是时间不是很充足,自己也不是很坚定,于是就乱七八糟的看了看。现在虽然琐事繁多,但时间还是有的,所以再整理下。
auto_ptr是STL里面的智能指针(Smart Pointer),一个很好的优点就是指针所有权自动转移和指针自动删除技术。对于异常和经常忘记delete的情况来说很实用。下面就是从SGI官方网站下载的STL auto_ptr实现源码(我在代码里面加上了我的注释,不正确的地方欢迎指正):

1
[......]

继续阅读

分类: STL编程 标签: , ,

一个C语言结构体问题

2011年5月5日 4 条评论

无聊的时候又去CSDN转转,肯定会有人讨论题目,这不,看到有人在讨论结构体了。不顾很奇怪的是,似乎所有人都被提问者误导了。先上题目:

#include <stdio.h>
// 定义一个结构体
typedef struct _DATA
{
char t;
char k;
unsigned short i;
int m;
} Data, *PData;
 
int main(int argc, char **argv)[......]

继续阅读

分类: C语言 标签: , ,

引用不分配内存?

2011年4月3日 没有评论

当我第一次遇到这个问题,还是有很大的疑虑的。不管怎么样,从汇编的角度去考察问题,就会很清晰。
目标程序:

// 本程序有点无聊
#include <iostream>
using namespace std;
 
int main(int argc, char *argv[])
{
int a, b;
 
scanf("%d %d", &a, &b&[......]

继续阅读

分类: 逆向调试 标签: , , ,

引用,其实不可以改变指向

2011年4月2日 没有评论

今天跟几位同学讨论了一点小问题,最后谈到指针和引用的区别……最后,谈到引用永远指向初始化它的对象。。。问题就从这里提出。按我的理解,引用是可以改变指向的(说明:这是错误的思维)。

#include <iostream>
using namespace std;
 
int main(int argc, char *argv[])
{
int a = 10, b = 20;
int &p = a;[......]

继续阅读

分类: C++编程 标签: , ,