作者bjk (Up2u)
看板C_and_CPP
标题[问题] ready only const char string
时间Tue May 10 19:46:18 2016
const char str1=[]="123";
const String str2("123");
请问一下这两种宣告
哪一种是编译到ready only memory里面
因为我去测试的时候
两个字串的内容都是不可修改的
所以我觉得两个都是ready only?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.227.244
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1462880781.A.444.html
1F:推 CoNsTaR: 那代表你的程式要烧 ROM ? 05/10 20:00
2F:→ bibo9901: 你都写const了... 05/10 20:00
3F:推 loveflames: 看是不是local变数 05/10 20:06
4F:→ Caesar08: 两个都是read only。标准好像没规定一定要放在.text里面 05/10 20:24
5F:→ Caesar08: 恩...,我那样讲有点怪。反正两个都不能被改 05/10 20:25
6F:→ Caesar08: 强制改的话,就是undefined behavior 05/10 20:26
7F:→ bjk: 是read only memory 05/10 20:33
是read only memory
原文写错
※ 编辑: bjk (220.136.227.244), 05/10/2016 20:33:41
8F:推 cplusplus: 语意上是read only,实际上的配置是另一回事,没绝对 05/11 13:15
9F:→ cplusplus: 因素很多,ex: String/compiler怎麽做。反正语意上是罗 05/11 13:16