【发布时间】:2009-12-12 12:55:09
【问题描述】:
首先我想说我是 C++ 的新手。
作为我硕士论文的一部分,我正在用 C++ 编写一个程序,它还将变量m 和d(均为整数)作为参数。 d 是 2 的幂(这意味着 2^d 元素)。参数m 定义了一个元素与整个组(2^d 元素)之间可能的交互次数。
可能的交互次数计算如下:
\kappa = \sum_{i=0}^m\binom{d}{i}
(目前我为2^d x \kappa 生成向量向量,但我的教授希望我为不同的m 创建不同的统计数据。我的第一个想法是生成@ 的动态数组987654330@ 不同大小的数组...然后我虽然定义了一个 3-dim 数组和最大的所需 2d 数组,但程序速度也很重要(例如d = 20)。
我想请教您如何定义这种也很快的动态数组。
问候
【问题讨论】:
-
如果数组和数学速度对你很重要,我不得不问你为什么不使用 FORTRAN 而不是 C++?
-
真的吗?我认为 blitz++ 已经证明,在高性能数字运算方面,C++ 可以与 FORTAN 竞争
-
您使用的是原生 C++ 向量,还是标准库中的 vector
类? -
在我开始编程之前,我告诉自己我不会 C++ 或 FORTRAN,所以我选择了 C++,因为我知道它将来会更有用,也许也更容易应用多线程计算。