小编cdk*_*rot的帖子

Trove Library Queue实现

我在java项目中使用了trove 3.0.3库.gnu.trove.queue(TByteQueue,TDoubleQueue ...)中的所有类都是接口.我在哪里可以找到Queue类的实现?

java queue implementation trove4j

6
推荐指数
1
解决办法
556
查看次数

int [n] [m],其中n和m在运行时是已知的

我经常需要在编译时创建一个宽度和高度(让它们是n和m)未知的2D数组,通常我会写:

vector<int> arr(n * m);
Run Code Online (Sandbox Code Playgroud)

我手动访问元素:

arr[j * m + i] 
Run Code Online (Sandbox Code Playgroud)

我最近被告知我可以改为写:

int arr[n][m] // n and m still only known at runtime.
Run Code Online (Sandbox Code Playgroud)

所以这里有两个问题:

  1. C++标准是否允许这种行为?
  2. 我应该如何将这样的数组传递给函数?g ++报告arr具有类型int (*)[n],但同样,n是动态的,并且在声明它的函数之外不知道(main).

c++ arrays multidimensional-array dynamic-arrays

4
推荐指数
1
解决办法
9003
查看次数