gpt4 book ai didi

c++ - gsl_vector 的构造函数

转载 作者:太空宇宙 更新时间:2023-11-04 13:56:42 25 4
gpt4 key购买 nike

我想通过重载几个运算符来增强 gsl 函数(例如 gls_vector)。我的想法是在单独的命名空间中创建一个新类:

namespace gsl
{
class gsl_vector : public gsl_vector
{

};
}

现在我的问题是我需要一个构造函数。原始 gsl_vector 没有这样的构造函数,因为它完全用 C 编写(根据 http://www.boost.org/doc/libs/1_53_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/odeint_in_detail/state_types__algebras_and_operations.html#boost_numeric_odeint.odeint_in_detail.state_types__algebras_and_operations.construction_resizing )。那么,我该如何为这个操作编写一个合适的构造函数,或者我的想法是不可能的?
谢谢!

最佳答案

我认为从 gsl_vector 派生新类型不是一个好主意。它增加了更多的问题然后它有帮助。有一点是 gsl_vector 是一个 C 结构。您不能轻易获得它的一个实例,因为通常需要调用 gsl_vector_alloc。另一点是,你不能使用你的新 vector 来替代其他 gsl 函数。它们完全是用 C 编写的,您不能传递派生类的指针。

不过,如果你真的需要构建这种 vector ,你需要查看 gsl_vector_alloc 和 gsl_vector_free 的代码来创建构造函数和析构函数。

关于c++ - gsl_vector 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21157953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com