返回信息流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下好像就不行,为什么呢
这是一条镜像帖。来源:北邮人论坛 / cpp / #40419同步于 2010/6/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求教达人解答
lzbboys
2010/6/10镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
哦~这样啊,谢谢了~
【 在 jmpesp 的大作中提到: 】
: g++最近版本增加了静态数组的动态分配
: --
: 唯心方能超脱~~
: ...................
【 在 dream 的大作中提到: 】
: 其实我想问下,允许在桟上分配变长数组的话,编译的时候桟空间改怎么计算,会不会出安全问题。听说动态数组就是 _alloca……
反汇编看看就知道怎么回事了 有时间再反汇编看看 如果懒得反汇编可以看下http://topic.csdn.net/u/20081209/13/c0d6bd12-75ca-4afc-aa9c-840a71908740.html
这里面有讨论