博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员和黑客的区别
阅读量:4111 次
发布时间:2019-05-25

本文共 475 字,大约阅读时间需要 1 分钟。

题目:
  设有如下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;}
 
  结论:
  程序员习惯于遵循既有的限制来增加既有的东西。
  黑客习惯于利用既有的东西来打破既有的限制。

 

转载地址:http://dbasi.baihongyu.com/

你可能感兴趣的文章
css左侧固定宽度,右侧自适应的几种实现方法
查看>>
sql server 游标使用
查看>>
解决导入TensorFlow后出现警告的的问题解决:通过降低numpy的版本
查看>>
HDU 2141 Can you find it?(二分)
查看>>
python中的数据结构
查看>>
第一天进入博客这个神奇的领域 在此%%%erosun
查看>>
新手对Spring的图解和一点个人理解
查看>>
Mac OS 10.6.5上如何默认启动mysq服务
查看>>
IC设计流程
查看>>
Linux下的redis安装和发布订阅
查看>>
实现刮刮乐的效果
查看>>
JavaScript箭头函数中的this详解
查看>>
I/O系统,多线程、图形用户界面编程
查看>>
矩阵优化总结
查看>>
Learn GIT
查看>>
xmoj142
查看>>
Tensorflow常用方法
查看>>
Centos7中给gitLab汉化
查看>>
mysql中的列属性
查看>>
MQTT协议理解
查看>>