- 主题:我有个想法,解决大家诟病的C++安全问题
你读过B.S的paper没?他跟一帮人搞的办法是using owner = ...
--
FROM 222.130.138.*
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.*
那是不可能完全禁止指针的使用的,这不是reasonable的解决办法
【 在 damingge 的大作中提到: 】
: c 不需要安全性,尽情的放飞自我吧
: c太简单了,大型软件工程并不适用。干好c需要干的活即可,比如嵌入式编程,底层函数算法之类的。
: C++搞出一堆的劳什子特性是为了大型软件工程,对于大型软件,潜在安全性检查太费时费力了,因此可以做一些取舍,比如加开关
: ...................
--
FROM 222.130.138.*
那是不是代码review时只要发现有指针就不让合入就行了
【 在 damingge 的大作中提到: 】
: 加 using 开关,新工程不建议继续使用 old style c
: 如果必需使用 ,那你自己打开, 不背锅了
:
--
FROM 222.130.138.*
全靠自己对自己的代码负责,那是不可能的,一定是别人来review,外加测试
【 在 damingge 的大作中提到: 】
: 这不仅仅是技术问题,而是管理问题。
: 默认情况下,不安全的方法就不让用,这样新的项目就不会乱写。除非你自己一定要打开开关,那等于你自己主动语言自身的安全性,你自己对自己的代码安全性负责。
: 对于老的项目,又要有包容性。
: ...................
--
修改:z16166 FROM 222.130.138.*
FROM 222.130.138.*
你暴露了,哈哈
引用对于modern c++很重要,禁用引用近乎天方夜谭,只能回到C的老路上去
说明你不怎么写modern c++的代码,就不要简单拍脑袋想方案了,还是先学习一下大师们的方案再说吧
【 在 damingge 的大作中提到: 】
: 新项目建议不要用一些不安全的技术,如指针、引用
: 但有时候控制不住手,自然而然按照老式写法写了,因此对于新项目,不如直接加个选项给丫禁用了
:
--
FROM 222.130.138.*
这个太远了
【 在 DoorWay 的大作中提到: 】
: cpp2怎么样?
--
FROM 222.130.138.*
cpp2是H.S个人试验性的东西,为了尝试c++的演进可能,github里写得很清楚
【 在 overcomeunic 的大作中提到: 】
: 很奇怪,不想着合力而是想着分裂,这样还指望做大做强,有些不可思议啊
--
FROM 222.130.138.*
新手喜欢嚷嚷
【 在 fckmessi 的大作中提到: 】
: 看到禁用引用我也惊呆了。。。
:
--
FROM 222.130.138.*
那是给你们的福利,因为我不会天天盯着我的头像看,哈哈
【 在 wanllow 的大作中提到: 】
: 每次看到你的头像都以为你是个大美女,直到后来搜了一下图片
--
FROM 114.241.230.*