看到书本上这么定义过:
"数组定义的形式为 类型名 数组名[常量表达式](e.g:int a[10])"
而不允许对数组的大小做动态的定义,技术组的大小不依赖于程序运行过程中变量的值.例子,如果像下面定义数组是不行的:
int a;
cin>>a;//输入a数组的长度
int a[n];//试图用n来决定数组的长度
在网上查了一下,大部分人给出的办法是不使用这样的数组,而用一个链表或者封装好的类如java中的Vector来解决..
于是自己有以下几个问题想请教前辈们:
1.c++/c中这种情况是独有的,还是其他高级语言也会有这样的情况?(如java?)
2.之所以出现这样的情况,是否是因为c++编译器的原因,在底层的实现中,数组的存放与堆还有栈的机制有关?
3.除了链表或封装好的类,有无其他一般性解决办法?
比如若想实现"一共输入n个数,并对其进行如sort,之间的元素搬移,或者search之类的操作,"若不封装类,只用数组,有何 好的办法么?
以上,请求指点!