- 主题:我有个想法,解决大家诟病的C++安全问题
其实c++安全性的问题基本来自于指针,默认把指针关闭掉,只能使用智能指针,安全性问题可以解决大半。为了兼容老版本代码,可以增加一个 using pointer; 来开启指针支持。
--
FROM 180.78.130.*
有链接么?
【 在 z16166 的大作中提到: 】
: 你读过B.S的paper没?他跟一帮人搞的办法是using owner = ...
--
FROM 180.78.130.*
我瞎想的,大神们搞的肯定更完善,有链接么
【 在 z16166 的大作中提到: 】
: 你读过B.S的paper没?他跟一帮人搞的办法是using owner = ...
--
FROM 180.78.130.*
c 不需要安全性,尽情的放飞自我吧
c太简单了,大型软件工程并不适用。干好c需要干的活即可,比如嵌入式编程,底层函数算法之类的。
C++搞出一堆的劳什子特性是为了大型软件工程,对于大型软件,潜在安全性检查太费时费力了,因此可以做一些取舍,比如加开关
【 在 overcomeunic 的大作中提到: 】
: 那c呢?
--
FROM 180.78.130.*
最开始的决策中100%兼容C就是不可取的,既要有要还要是不行的
【 在 overcomeunic 的大作中提到: 】
: 那c++费那么大的劲,背那么大的包袱把C给包进来
: 然后底层或子集不解决问题,后面出了问题,锅还是c++的
--
FROM 180.78.130.*
加 using 开关,新工程不建议继续使用 old style c
如果必需使用 ,那你自己打开, 不背锅了
【 在 z16166 的大作中提到: 】
: 那是不可能完全禁止指针的使用的,这不是reasonable的解决办法
--
FROM 180.78.130.*
这不仅仅是技术问题,而是管理问题。
默认情况下,不安全的方法就不让用,这样新的项目就不会乱写。除非你自己一定要打开开关,那等于你自己主动语言自身的安全性,你自己对自己的代码安全性负责。
对于老的项目,又要有包容性。
【 在 z16166 的大作中提到: 】
: 那是不是代码review时只要发现有指针就不让合入就行了
--
FROM 180.78.130.*
新项目建议不要用一些不安全的技术,如指针、引用
但有时候控制不住手,自然而然按照老式写法写了,因此对于新项目,不如直接加个选项给丫禁用了
【 在 z16166 的大作中提到: 】
: 全靠自己对自己的代码负责,那是不可能的,一定是别人来review,外加测试
--
FROM 180.78.130.*