- 主题:我有个想法,解决大家诟病的C++安全问题
其实c++安全性的问题基本来自于指针,默认把指针关闭掉,只能使用智能指针,安全性问题可以解决大半。为了兼容老版本代码,可以增加一个 using pointer; 来开启指针支持。
--
FROM 180.78.130.*
你读过B.S的paper没?他跟一帮人搞的办法是using owner = ...
--
FROM 222.130.138.*
有链接么?
【 在 z16166 的大作中提到: 】
: 你读过B.S的paper没?他跟一帮人搞的办法是using owner = ...
--
FROM 180.78.130.*
我瞎想的,大神们搞的肯定更完善,有链接么
【 在 z16166 的大作中提到: 】
: 你读过B.S的paper没?他跟一帮人搞的办法是using owner = ...
--
FROM 180.78.130.*
2015年的
A brief introduction to C++’s model for type- and resource-safety
Bjarne Stroustrup (Morgan Stanley)
Herb Sutter (Microsoft)
Gabriel Dos Reis (Microsoft
这里面针对几个问题的解决方案是后来的CppCoreGuidelines的一部分,对应的支撑库是GSL,需要配套的静态分析工具(某些情况下需要静态分析工具用符号执行来分析)。MSVC应该是实现了一部分的,他家有自己开源的GSL库,但由于和静态分析工具配套用的,估计用的人不多。
你看看能不能超过这些方案。指针和引用是一样的(野引用,和野指针的后果差不多),你在顶楼的方案是处理不了引用的。
【 在 damingge 的大作中提到: 】
: 我瞎想的,大神们搞的肯定更完善,有链接么
:
--
修改:z16166 FROM 222.130.138.*
FROM 222.130.138.*
那c呢?
【 在 damingge 的大作中提到: 】
: 其实c++安全性的问题基本来自于指针,默认把指针关闭掉,只能使用智能指针,安全性问题可以解决大半。为了兼容老版本代码,可以增加一个 using pointer; 来开启指针支持。
:
--
FROM 106.11.31.*
c 不需要安全性,尽情的放飞自我吧
c太简单了,大型软件工程并不适用。干好c需要干的活即可,比如嵌入式编程,底层函数算法之类的。
C++搞出一堆的劳什子特性是为了大型软件工程,对于大型软件,潜在安全性检查太费时费力了,因此可以做一些取舍,比如加开关
【 在 overcomeunic 的大作中提到: 】
: 那c呢?
--
FROM 180.78.130.*
那c++费那么大的劲,背那么大的包袱把C给包进来
然后底层或子集不解决问题,后面出了问题,锅还是c++的
【 在 damingge 的大作中提到: 】
: c 不需要安全性,尽情的放飞自我吧
: c太简单了,大型软件工程并不适用。干好c需要干的活即可,比如嵌入式编程,底层函数算法之类的。
: C++搞出一堆的劳什子特性是为了大型软件工程,对于大型软件,潜在安全性检查太费时费力了,因此可以做一些取舍,比如加开关
: ...................
--
FROM 106.11.31.*
那是不可能完全禁止指针的使用的,这不是reasonable的解决办法
【 在 damingge 的大作中提到: 】
: c 不需要安全性,尽情的放飞自我吧
: c太简单了,大型软件工程并不适用。干好c需要干的活即可,比如嵌入式编程,底层函数算法之类的。
: C++搞出一堆的劳什子特性是为了大型软件工程,对于大型软件,潜在安全性检查太费时费力了,因此可以做一些取舍,比如加开关
: ...................
--
FROM 222.130.138.*
最开始的决策中100%兼容C就是不可取的,既要有要还要是不行的
【 在 overcomeunic 的大作中提到: 】
: 那c++费那么大的劲,背那么大的包袱把C给包进来
: 然后底层或子集不解决问题,后面出了问题,锅还是c++的
--
FROM 180.78.130.*