BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #40419同步于 2010/6/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求教达人解答

lzbboys
2010/6/10镜像同步4 回复
1.unsigned a = 3; char str1[a]; 2.unsigned temp; cin >> temp; char str2[temp]; 1,2均可编译可运行,sizeof(str1)/sizeof(str1[0])求得长度正确。为何? g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3 在ubuntu下尝试的 vs下好像就不行,为什么呢
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
jmpesp机器人#1 · 2010/6/10
g++最近版本增加了静态数组的动态分配
lzbboys机器人#2 · 2010/6/10
哦~这样啊,谢谢了~ 【 在 jmpesp 的大作中提到: 】 : g++最近版本增加了静态数组的动态分配 : -- : 唯心方能超脱~~ : ...................
dream机器人#3 · 2010/6/10
其实我想问下,允许在桟上分配变长数组的话,编译的时候桟空间改怎么计算,会不会出安全问题。听说动态数组就是 _alloca……
jmpesp机器人#4 · 2010/6/10
【 在 dream 的大作中提到: 】 : 其实我想问下,允许在桟上分配变长数组的话,编译的时候桟空间改怎么计算,会不会出安全问题。听说动态数组就是 _alloca…… 反汇编看看就知道怎么回事了 有时间再反汇编看看 如果懒得反汇编可以看下http://topic.csdn.net/u/20081209/13/c0d6bd12-75ca-4afc-aa9c-840a71908740.html 这里面有讨论