由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - c++ 宏的问题
相关主题
问个copy constructor的问题内存泄露了吗?
new了指针,delete的时候出错了Need help on C++ code
placement newC++ 关于 Named Ctor Idom 的小问题
C++问题一道作业题
stl Compare为何需要重载()?C 语言,2进制转16进制,输入问题
我这个C++程序有没有什么问题啊?请指点。。。谢谢。。。请教如何修正这个C程序的bug。
几个C++书写风格疑问大家看看这个简单的qsort排序的问题
请教C++11的rvalue ref[菜鸟问题]类模板问题
相关话题的讨论汇总
话题: myclass话题: foo
进入Programming版参与讨论
1 (共1页)
N***r
发帖数: 2539
1
有这么一段代码
template
void foo(SomeKindofClass & myClass);
函数foo的具体实现分布在各个C文件中,比如在myProblemClassABC中
templet <>
void
foo(SomeKindofClass & myClass)
{
/* real codes here */
}
在myProblemClassXYZ中
templet <>
void
foo(SomeKindofClass & myClass)
{
/* real codes here */
}
现在有另一个function,功能是根据从输入文件中读到的myProblemClassXXX来调用foo
,很笨的方法就是这样
void function(std::vector class_names_from_input)
{
SomeKindofClass myClass = SomeKindofClass();
for(unsigned int i = 0; i < class_names_from_input.size(); i++}
{
if(class_names_from_input[i].compare("myProblemClassABC") == 0)
foo(myClass);
else if(class_names_from_input[i].compare("myProblemClassXYZ") == 0)
foo(myClass);
else if(class_names_from_input[i].compare("myProblemClassOPQ") == 0)
foo(myClass);
else
{
std::cerr << "unknown type" << std::endl;
exit(1);
}
}
}
问题是,随着程序的发展,myProblemClassXXX会越来越多,这个if else的长度越来越
长,有没有比较好的#define 来干这个事?
t****t
发帖数: 6806
2
apparently you need a directory and each implementation will need to registe
r to this directory.

【在 N***r 的大作中提到】
: 有这么一段代码
: template
: void foo(SomeKindofClass & myClass);
: 函数foo的具体实现分布在各个C文件中,比如在myProblemClassABC中
: templet <>
: void
: foo(SomeKindofClass & myClass)
: {
: /* real codes here */
: }

N***r
发帖数: 2539
3
恩,应该就是这个register的过程了。有什么推荐可以看的代码吗?

registe

【在 t****t 的大作中提到】
: apparently you need a directory and each implementation will need to registe
: r to this directory.

t****t
发帖数: 6806
4
i remember i had an old post in this board for a similar problem...

【在 N***r 的大作中提到】
: 恩,应该就是这个register的过程了。有什么推荐可以看的代码吗?
:
: registe

N***r
发帖数: 2539
5
如果能找到,感激不尽。

【在 t****t 的大作中提到】
: i remember i had an old post in this board for a similar problem...
t****t
发帖数: 6806
6
自己找找呗. google thrust programming register site:mitbbs.com

【在 N***r 的大作中提到】
: 如果能找到,感激不尽。
N***r
发帖数: 2539
7
多谢

【在 t****t 的大作中提到】
: 自己找找呗. google thrust programming register site:mitbbs.com
d****i
发帖数: 4809
8
一点小错误,这一行应该写成
SomeKindofClass myClass = SomeKindofClass();
=> SomeKindofClass myClass;
C++里面stack变量对象创建时不用call default ctor,直接按照C的办法来。

【在 N***r 的大作中提到】
: 有这么一段代码
: template
: void foo(SomeKindofClass & myClass);
: 函数foo的具体实现分布在各个C文件中,比如在myProblemClassABC中
: templet <>
: void
: foo(SomeKindofClass & myClass)
: {
: /* real codes here */
: }

1 (共1页)
进入Programming版参与讨论
相关主题
[菜鸟问题]类模板问题stl Compare为何需要重载()?
请问const myClass &src 和myClass const &src有什么区别?我这个C++程序有没有什么问题啊?请指点。。。谢谢。。。
请问在class member function中如何调用overloaded function ca几个C++书写风格疑问
问个INTERVIEW QUESTION请教C++11的rvalue ref
问个copy constructor的问题内存泄露了吗?
new了指针,delete的时候出错了Need help on C++ code
placement newC++ 关于 Named Ctor Idom 的小问题
C++问题一道作业题
相关话题的讨论汇总
话题: myclass话题: foo