ISO/IEC C++ China Unofficial

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 410|回复: 6

Allocation failure of automatic objects

[复制链接]

8

主题

41

帖子

109

积分

超级版主

Rank: 8Rank: 8

威望
0
经验
68
贡献
0
发表于 2017-12-31 02:26:51 | 显示全部楼层 |阅读模式
https://groups.google.com/a/isoc ... cussion/xphK7zA65nU

std-discussion上混的还是太叒,最后竟无言可吱……
回复

使用道具 举报

10

主题

117

帖子

575

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
447
贡献
3
发表于 2017-12-31 02:37:36 | 显示全部楼层
本身栈溢这种东西对于一个 Turing-complete 的 abstract machine 就是严(zhuang)格(zuo)不(kan)存(bu)在(jian)的东西,所以没什么可大惊小怪的。实际场景下来栈溢往往就是直接挂了,又不像 `std::terminate()` 那么容易撕清楚——注意如果允许函数调用行为本身丢异常,就无法定义严格的 `noexcept`,所以就是实实在在地(virtually)装不存在了。
We will prevail!! https://www.lhmouse.com/
回复 支持 反对

使用道具 举报

8

主题

41

帖子

109

积分

超级版主

Rank: 8Rank: 8

威望
0
经验
68
贡献
0
 楼主| 发表于 2017-12-31 02:39:46 | 显示全部楼层
LH_Mouse 发表于 2017-12-31 02:37
本身栈溢这种东西对于一个 Turing-complete 的 abstract machine 就是严(zhuang)格(zuo)不(kan)存(bu)在(ji ...

然而看不见的是栈,资源耗尽只是装作看不见而已,结果也就是UB,而且还是用户完全没法不针对具体实现糊干净的那种。这个各种意义上实在过于zz了。
回复 支持 反对

使用道具 举报

8

主题

41

帖子

109

积分

超级版主

Rank: 8Rank: 8

威望
0
经验
68
贡献
0
 楼主| 发表于 2017-12-31 02:40:37 | 显示全部楼层
幻の上帝 发表于 2017-12-31 02:39
然而看不见的是栈,资源耗尽只是装作看不见而已,结果也就是UB,而且还是用户完全没法不针对具体实现糊干 ...

再者Turing complete当实用模型也太叒鸡了,Turing machine都直接不管资源有限……
回复 支持 反对

使用道具 举报

10

主题

117

帖子

575

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
447
贡献
3
发表于 2017-12-31 03:21:33 这篇帖子是使用手机发表的! | 显示全部楼层
反正就是概率非常小直接无视了呗。c艹 这语言本身从结构上就不能防止无穷递归。
回复 支持 反对

使用道具 举报

8

主题

41

帖子

109

积分

超级版主

Rank: 8Rank: 8

威望
0
经验
68
贡献
0
 楼主| 发表于 2017-12-31 12:20:08 | 显示全部楼层
LH_Mouse 发表于 2017-12-31 03:21
反正就是概率非常小直接无视了呗。c艹 这语言本身从结构上就不能防止无穷递归。 ...

小个蛋蛋。
不需要静态禁止递归,直接扔free store钦定std::alloc就够了。麻烦的都是实现,不会给spec添乱,反而减少一条UB。
然而C艹连这个都懒得做。

回复 支持 反对

使用道具 举报

10

主题

117

帖子

575

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
447
贡献
3
发表于 2017-12-31 22:44:07 | 显示全部楼层
幻の上帝 发表于 2017-12-31 12:20
小个蛋蛋。
不需要静态禁止递归,直接扔free store钦定std::alloc就够了。麻烦的都是实现,不会给spec添 ...

搞不好最后实现会变成 std::get_temporary_buffer() 一样的没娘养的。
We will prevail!! https://www.lhmouse.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|ISO/IEC C++ China Unofficial

GMT+8, 2018-4-23 13:31 , Processed in 0.052087 second(s), 22 queries , XCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表