小编atm*_*ere的帖子

在C++中使用std :: vector会有什么性能损失?

通常,我很想知道标准模板库是否会在数值/科学计算的代码中产生性能/速度开销.

例如.将数组声明为

double 2dmatrix [10][10]
Run Code Online (Sandbox Code Playgroud)

会给我更多的表现

std::vector<std::vector<double> > 2dmatrix(10,std::vector<double>(10,0.0))
Run Code Online (Sandbox Code Playgroud)

我还要感谢一些一般性的想法,关于C在科学计算方面是否具有比C++更好的性能.我使用STL以非常面向对象的方式编写了我的代码,并且使用了C++ 11.我开始考虑是否应该开始研究纯C,如果它运行得更快.

对此有任何想法都是受欢迎的.

c++ performance vector scientific-computing c++11

9
推荐指数
2
解决办法
5397
查看次数

将结构从 C++ 函数返回到 SWIG 中的 Python

我有一个 C++ 标头,它返回一个包含 3 个元素的结构。如何让python正确接受结构变量?

这是我在 C++ 函数中所拥有的:

  // Function name myfunc
 struct velocity
 {
 std::vector< std::vector<double> > u;
 std::vector< std::vector<double> > v;
 std::vector< std::vector<double> > w;
 }; 

 velocity velo;  //Creating object

 velo.u = sum(umean,pu);
 velo.v = sum(vmean,pv);
 velo.w = sum(wmean,pw);

 return(velo)
Run Code Online (Sandbox Code Playgroud)

这是我的 Python 实现,在使用 SWIG 之后

 import numpy
 from myfunc import *    # importing C++ myfunc library
 My = 100       # Matrix dimensions
 Mz = 100
 z = myfunc(My,Mz)    # Supplying the matrix dimensions to the myfunc library
 print(z) …
Run Code Online (Sandbox Code Playgroud)

c++ swig struct python-2.7 c++11

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