为什么我列表中的所有元素都有相同的创建时间
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();
};
为什么我列表中的所有元素都有相同的创建时间?
您正在使用
((clock() / (double)(CLOCKS_PER_SEC)) * 1000);
获取time
成员变量的值。那是毫秒的时间。当今的计算机可以在毫秒内完成很多工作。创建所有对象所花费的时间似乎比毫秒少。这就是为什么您看到所有对象的time
值相同的值。
如果clock
的分辨率大于毫秒,则您将看到大量对象的time
值。
相关文章:
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 使用Boost Interprocess创建托管共享内存需要很长时间
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 注册表-获取值(而不是键)上次更改的时间和键创建日期
- 如何在提升日期时间中创建日期范围?
- 如何使用微秒创建时间戳
- 我想获取我在C++中创建的每个进程的 PID,并在特定时间后终止每个进程
- 未知大小的数组作为类成员,用于在运行时(对象创建时间)创建数组的对象
- 如何在 python 交易模型中创建功能时间条件
- C++ 如何使用字符串中保存的文件路径创建带时间戳的目录
- 在C 中创建时间变化的信号
- 为什么我列表中的所有元素都有相同的创建时间
- 如何在 Linux 中获取"文件创建时间"
- 如何在不使用 Sleep() 的情况下创建时间计数器
- 使用localtime_s创建时间戳?并使用asctime_s C++
- 有没有办法控制英特尔线程构建模块中的线程数量、亲和力和创建时间
- Vtable和*_vptr创建时间
- 有没有办法从GUID中找到时间戳(创建时间)?
- 按创建时间搜索文件
- 默认构造函数创建时间和多个定义