小编Gae*_*tan的帖子

将包含C风格数组的对象初始化为成员变量(C++)

请考虑以下代码:

struct Color  // This struct can't be modified
{
    double grey;
    double rgb[3];
};

int main()
{
    double myRGB[3] = {2, 6, 9};

    Color c = {10, myRGB}; // This line doesn't work

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何Color在一行中初始化对象?

在我的实际情况中,Colorstruct不能更改(例如,使用std::array而不是C风格的数组).

c++ arrays constructor

14
推荐指数
2
解决办法
1058
查看次数

将std :: type_index作为模板参数传递给函数模板

考虑以下代码(工作正常):

namespace fruit {
   struct apple{};
}

namespace language{
   struct english{};
}

typedef std::pair<std::string, std::type_index> myPairType;

std::unordered_map<std::string, myPairType> myMap =
{
    {"paul", {"likes", std::type_index(typeid(fruit::apple))} },
    {"jonas",  {"likes", std::type_index(typeid(language::english))} }
};
Run Code Online (Sandbox Code Playgroud)

现在我有以下功能模板:

template <typename T>
void GenerateProfile(void* data) {
    T* data_casted = reinterpret_cast<T*>(data);
     //the data are then set to some database
}
Run Code Online (Sandbox Code Playgroud)

在调用GenerateProfile函数时,如何传递fruit::applelanguage::english作为模板参数?

myPairType myPair = myMap.at("paul");  //This works fine
fruit::apple* ptr = nullptr; //or fruit::apple* ptr = ...
GenerateProfile<?>(ptr); 

//GenerateProfile<myPair.second>(ptr) is not compiling

//GenerateProfile<fruit::apple>(ptr) this one …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

继承:构造函数,初始化C,类似于c ++ 11中基类的数组成员

考虑以下代码:

struct Base //in my real scenario Base class can not be changed
{
    int a;
    double b[10];
};

struct Child : Base
{
    Child(int aa, double bb[10]) : Base{aa} {}     //This works fine
    Child(int aa, double bb[10]) : Base{aa, bb} {} //this is not working
};
Run Code Online (Sandbox Code Playgroud)

孩子的第二个构造函数不起作用.我得到错误"数组必须用括号封闭的初始化程序初始化".如何bChild不更改Base类的情况下初始化(例如使用vector而不是c-like数组,我不允许这样做)

c++ inheritance constructor c++11

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

特征索引,更新特定行的所有列

假设我有一个ArrayXXf(或MatrixXf) m。在 for 循环的每次迭代中,我想mVectorXf.

Eigen::ArrayXXf m(5, 5);

for (int i = 0; i < 5; i++)
{
    Eigen::VectorXf vec(5);
    vec << i, i + 1, i + 2, i+3, i+4;

    //fill m row wise
    // in matlab I will do something like m(i,:) = vec; 
    // in numpy this will looks like m[i:] = vec;
    // that means when i is 0 m looks like 
    //          [ 0 1 2 3 …
Run Code Online (Sandbox Code Playgroud)

c++ eigen

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

使用 scipy.optimize 最大化目标函数

scipy.optimize 模块具有 scipy.optimize.minimize,它允许找到最小化目标函数的值。但是没有 scipy.optimize.maximize。为什么?如何使用 SciPy 解决最大化问题?

python mathematical-optimization scipy

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

模板成员变量的值

考虑以下两个类:

Struct Gray
{
const int data_size = 32*32;
int width;
int height;
uint8_t data[data_size ]
}

Struct color
{
const int data_size = 32*32*3;
int width;
int height;
uint8_t data[data_size ]
}
Run Code Online (Sandbox Code Playgroud)

我想将这两个类组合成一个模板类.

我怎样才能编写这样一个模板类,它将data_size的值作为模板参数,template<int data_size> struct如何?我们是否真的在c ++中使用模板用于此类目的?我知道该模板用于棘手的变量类型,但从未看到变量值的用例.

c++ templates

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