【发布时间】:2011-05-10 23:10:17
【问题描述】:
考虑到我有大量对象(包含一些数据,例如 id、name 等),我正在尝试编写一个程序 我有一个类似的显示菜单:
1)
display_menu()
{
vector< CD > CDArray;
//some statements to display
switch(choice)
{
//case1 , case 2, ...
case x;
for(int i=0; i < CDArray.size(); i++)
CDArray[i].printCD(); //printCD() is a method of class CD
//default
}
}
但是如果向量/数组很大,会导致很多函数调用开销,从而使其变慢。
2) 我应该将函数 printCD() 声明为内联函数还是
3) 声明另一个对象来调用函数并通过引用传递向量/数组,例如:
display_menu()
{
vector< CD > CDArray;
CD obj;
//some statements to display
switch(choice)
{
//case1 , case 2, ...
case x;
obj.printCD(CDArray); //CDArray is passed by reference
//default
}
}
第三种方法有问题吗
你会建议什么方法?
【问题讨论】:
-
在担心速度之前先测量一下速度。
标签: c++