gpt4 book ai didi

c++ - Controller 中用于模型和 View 之间接口(interface)的通用编程

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

我正在用 C++ 为我的项目创建一个 MVC 框架。下面是 Controller 源代码/伪代码片段。如您所见,我必须对每种类型进行显式检查。我已经为对象(模型)的每个属性存储了类型。有没有办法避免这种转换情况?

for each property P of object:
switch(type of P)
{
case(type_int):
{
int value;
model->fetch(value, P->id);
writer->write(value, P->id);
break;
}
case(type_float):
{
float value;
model->fetch(value, P->id);
writer->write(value, P->id);
break;
}
}

最佳答案

#include<vector>
#include<algorithm>
#include<iostream>

template<typename T>
struct pred{

void operator()(T x)
{
//implemnt algorithm
}
T value;
};

class property{

};

int main()
{
std::vector<property> myShape;

std::for_each(myShape.begin(),myShape.end(), pred<property>());
std::cout<<"Done"<<std::endl;

}

关于c++ - Controller 中用于模型和 View 之间接口(interface)的通用编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246924/

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