为什么我列表中的所有元素都有相同的创建时间?
Why all the elements in my list have got the same time of creation?
我想添加到我的列表变量中的节点,它包含从程序开始经过的时间。不幸的是,他们所有人都一样。我的代码有什么问题?
void MyList:: pushBack(val nval)
{
if (size == 0)
{
first->elem = nval;
first->time = ((clock() / (double)(CLOCKS_PER_SEC)) * 1000);
size++;
return;
}
Node *n = new Node();
n->time= ((clock() / (double)(CLOCKS_PER_SEC)) *1000);
n->elem = nval;
last->next = n;
last = n;
size++;
// delete n;
}
struct Node {
double time;
val elem;
Node *next=nullptr;
};
class MyList
{
int size = 0;
Node* first;
Node* last = first;
MyList();
void pushBack(val nval);
~MyList();
};
Why all the elements in my list have got the same time of creation?
您正在使用
((clock() / (double)(CLOCKS_PER_SEC)) * 1000);
获取 time
成员变量的值。那是以毫秒为单位的时间。今天的计算机可以在一毫秒内完成大量工作。创建所有对象所花费的时间似乎不到一毫秒。这就是为什么您会看到所有对象的 time
值相同。
如果 clock
的分辨率大于一毫秒,您将看到 time
的相同值用于更多对象。
我想添加到我的列表变量中的节点,它包含从程序开始经过的时间。不幸的是,他们所有人都一样。我的代码有什么问题?
void MyList:: pushBack(val nval)
{
if (size == 0)
{
first->elem = nval;
first->time = ((clock() / (double)(CLOCKS_PER_SEC)) * 1000);
size++;
return;
}
Node *n = new Node();
n->time= ((clock() / (double)(CLOCKS_PER_SEC)) *1000);
n->elem = nval;
last->next = n;
last = n;
size++;
// delete n;
}
struct Node {
double time;
val elem;
Node *next=nullptr;
};
class MyList
{
int size = 0;
Node* first;
Node* last = first;
MyList();
void pushBack(val nval);
~MyList();
};
Why all the elements in my list have got the same time of creation?
您正在使用
((clock() / (double)(CLOCKS_PER_SEC)) * 1000);
获取 time
成员变量的值。那是以毫秒为单位的时间。今天的计算机可以在一毫秒内完成大量工作。创建所有对象所花费的时间似乎不到一毫秒。这就是为什么您会看到所有对象的 time
值相同。
如果 clock
的分辨率大于一毫秒,您将看到 time
的相同值用于更多对象。