小编Han*_*ans的帖子

STL方法为std :: vector添加一个常量值

标准库中是否有一个算法可以为std :: vector的每个元素添加一个值?就像是

std::vector<double> myvec(5,0.);
std::add_constant(myvec.begin(), myvec.end(), 1.);
Run Code Online (Sandbox Code Playgroud)

为每个元素添加值1.0?

如果在STL中没有一个很好的(例如简短,美观,易读)方法,那么提升怎么样?

c++ stl

35
推荐指数
5
解决办法
2万
查看次数

什么是在C++中复制数组的最快的可移植方式

这个问题困扰了我一段时间.我正在考虑的可能性是

  1. 的memcpy
  2. 性病::复制
  3. cblas_dcopy

有没有人知道这三者的利弊是什么?其他建议也欢迎.

c++ arrays copy

16
推荐指数
1
解决办法
1万
查看次数

我是否允许在MPI并行化代码中抛出异常?

这些是我在为使用MPI(在C++中)并行运行的算法设计错误处理时遇到的一些常见问题:

  • 异常是否在并行执行的代码中工作?是否定义了行为?
  • 他们是如何工作的?对于不同的实现,这有何不同?
  • 这是好的做法 - 还是应该使用退货代码?

c++ parallel-processing exception

11
推荐指数
2
解决办法
2469
查看次数

是否可以将对Excel VBA的指针传递给C++?

我想从excel vba调用我自己的C++ dll函数:

void my_cpp_fun ( int& n_size, double*& my_array);
Run Code Online (Sandbox Code Playgroud)

C++函数创建一个可变大小为n_size的数组my_array(此大小在my_cpp_fun中计算).

我可以将此功能与VBA接口,而不使用我的C++代码中的任何Excel特定内容吗?

基本上我正在寻找的是VBA声明声明

Declare Sub my_cpp_fun Lib "my_cpp.dll" (n_size As Long, Ref_to_Ptr_Qualifier my_array As Double) 
Run Code Online (Sandbox Code Playgroud)

刚出现的另一个问题是:如果我使用new在c ++ dll中分配内存,那么一旦dll函数将控制权返回给VB,该内存是否可用?如果不是这样,上面就没有意义......

c++ excel vba pointers excel-vba

9
推荐指数
1
解决办法
2646
查看次数

paraview python脚本等效于File-> save Data

我想自动从vtk/vtu文件导出csv文件.

现在,我采取的步骤是:

  • 公开审查
  • 在pvd文件中加载,该文件存储有关所有vtu文件的信息(在我的PDE模拟中每个时间步骤一个)
  • 转到左边的属性选项卡,点击'apply'
  • 文件 - >保存数据...提供基本文件名,选择'点'和'写所有时间步'

这会为每个时间步执行一个名为basefilename#timestepno#.csv的csv文件

有没有办法从命令行执行此操作(计算机上没有X服务器正在进行计算),例如使用python接口?

python paraview

8
推荐指数
1
解决办法
6480
查看次数

如何在modelica中访问时间变量

我想在Modelica中建立一个明确的时间依赖微分方程.

说我想建模

Real x(start=1);
der(x) = t;
Run Code Online (Sandbox Code Playgroud)

在Modelica.访问时间变量t的正确方法是什么?

differential-equations modelica

7
推荐指数
1
解决办法
4635
查看次数

实现基类比较的正确方法是什么?

我有一个基类

class Animal 
Run Code Online (Sandbox Code Playgroud)

使用纯虚函数和一组派生类

class Monkey : public Animal 
class Snake : public Animal
Run Code Online (Sandbox Code Playgroud)

我想实现一个比较操作,以便在我的代码中遇到两个指向动物的指针

Animal* animal1
Animal* animal2
Run Code Online (Sandbox Code Playgroud)

我可以将它们相互比较.如果animal1和animal2具有不同的派生类别,则比较应该产生错误.如果它们具有相同的派生类,则应返回比较运算符的输出.

有人能指出我实现这个的好方法吗?

c++ inheritance

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

为什么我需要boost python矢量索引套件中的比较运算符?

我想公开C++代码

std::vector<A>
Run Code Online (Sandbox Code Playgroud)

到python.我的

class A{};
Run Code Online (Sandbox Code Playgroud)

没有实现比较运算符.当我尝试

BOOST_PYTHON_MODULE(libmyvec)
{
  using namespace boost::python;
  class_<A>("A");
  class_<std::vector<A> >("Avec")
    .def(boost::python::vector_indexing_suite<std::vector<A> >());
}
Run Code Online (Sandbox Code Playgroud)

我收到有关比较运算符的错误.如果我将A的定义更改为

class A {
public:
  bool operator==(const A& other) {return false;}
  bool operator!=(const A& other) {return true;}
};
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力.

为什么我需要实现这些比较运算符?vector_indexing_suite没有它们有没有办法使用它们?

c++ boost boost-python comparison-operators

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

用于用户输入的python库

我在python中实现了一个小命令行工具,需要向用户询问几个问题.我用

raw_input('Are you male or female?')
Run Code Online (Sandbox Code Playgroud)

每时每刻.现在我希望能够处理愚蠢的用户(或者那些懒得阅读/记住文档的人),所以我需要检查答案是否有意义.

gender = ''
while gender not in ['male', 'female']:
    gender = raw_input('Are you male or female?')
Run Code Online (Sandbox Code Playgroud)

我想知道是否存在类似argparse的东西可以自动解决这个问题

import inputparse 
gender = inputparse.get_input(prompt='Are you male or female?', type=str, possible_input=['male', 'female'])
Run Code Online (Sandbox Code Playgroud)

并会照顾自动检查等?

python user-input

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

c ++有一个很好的通用选项类吗?

每次我编写另一个小型c ++玩具程序时,我都会遇到一个易于使用的小型选项/参数类.这是它应该做的:

  • 至少接受整数,双精度,字符串参数
  • 添加新选项的简便方法
  • 便携,小巧,快速
  • 自由
  • 从文件和/或命令行中读取选项
  • 参数的上限和下限
  • 以及我现在没想到的所有其他有用的东西

我想要做的是将指向此类的指针传递给构建器和我的所有策略对象,以便他们可以读取我正在运行的算法的参数(例如,哪种算法,最大迭代次数等)

有人能指出我至少实现其中一些内容的实现吗?

c++

3
推荐指数
1
解决办法
893
查看次数

如何将 NSIS 的 RequestExecutionLevel 选项添加到 CMakeLists.txt

我正在尝试在 Windows 7 上使用 NSIS 编译安装程序以在没有管理员权限的情况下工作。项目用CMake搭建,用VC2010编译。我发现我必须使用

RequestExecutionLevel user
Run Code Online (Sandbox Code Playgroud)

选项。我的问题是:我必须在 CMakeLists.txt 中放入什么才能将此选项传递给 NSIS?我发现

set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "RequestExecutionLevel user")
Run Code Online (Sandbox Code Playgroud)

在 google 上的某个地方,但是会出现错误,说无法在此部分中设置此选项。

任何帮助是极大的赞赏

nsis cmake windows-7 cpack

3
推荐指数
1
解决办法
2637
查看次数

C++编译器如何决定调用哪些函数?

请考虑以下设置:

我有一个界面

template<class T>
  void FooClass<T>::foo(boost::function<double (int)> f)
{...}
Run Code Online (Sandbox Code Playgroud)

我想使用Functor实现f:

class MyFun {
    public: double operator()(int a) {do something...;}
}
Run Code Online (Sandbox Code Playgroud)

但是,界面中定义了另一个功能

template<class T>
  template <class FunPtr> 
    void FooClass<T>::foo(const FunPtr& f)
{...}
Run Code Online (Sandbox Code Playgroud)

调用FooClass对象时

MyFun f;
FooClass<double> fooclass;
fooclass.foo(f);
Run Code Online (Sandbox Code Playgroud)

它使用第二个定义,而我希望它调用第一个定义 - 这可以以某种方式改变吗?

c++ templates functor

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

用内联样式而不是CSS将pandas DataFrame转换为html

我正在尝试将HTML格式的pandas DataFrame作为电子邮件的一部分发送。我正在尝试使用类似

import pandas as pd

df = pd.DataFrame({1: [1, 2, 3], 2: [4, 5, 6]})

def style_map(x):
    return 'color: red' if x == 1 else 'color: blue'

styled_df = df.style.applymap(style_map).render()
Run Code Online (Sandbox Code Playgroud)

然后添加styled_df到其余的HTML。但是,此方法使用CSS设置表格样式,其输出如下所示:

<style  type="text/css" >
    #T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4row0_col0 {
            color:  red;
        }    #T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4row0_col1 {
            color:  blue;
        }    #T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4row1_col0 {
            color:  blue;
        }    #T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4row1_col1 {
            color:  blue;
        }    #T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4row2_col0 {
            color:  blue;
        }    #T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4row2_col1 {
            color:  blue;
        }</style><table id="T_3627a1a0_4fb7_11e9_9bf9_33657f3526e4" ><thead>    <tr>        <th class="blank level0" ></th>        <th class="col_heading level0 col0" >1</th>        <th …
Run Code Online (Sandbox Code Playgroud)

html python html-email pandas

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