荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Kenko (坎坷), 信区: SoftDev
标  题: 程序员和黑客的区别[zz]
发信站: 荔园晨风BBS站 (Wed Jun  2 12:56:51 2004), 站内信件

题目:
  设有如下C++类
class A
{
  int value;
public:
  A(int n = 0) : value(n) {}
  int GetValue()
  {
    return value;
  }
};
  请使用某种方式来在类的外部改变私有成员A::value的值。

程序员的可能做法:
class A
{
  int value;
public:
  A(int n = 0) : value(n) {}
  int GetValue()
  {
    return value;
  }
  void SetValue(int n)
  {
    value = n;
  }
};

void f()
{
  A a;
  a.SetValue(5);
}

黑客的可能做法:
void f()
{
  A a;
  *((int *)&a) = 5;
}

结论:
  程序员习惯于遵循既有的限制来增加既有的东西。
  黑客习惯于利用既有的东西来打破既有的限制。

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.36.110]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店