gpt4 book ai didi

c++ - 如何在 C++ 中为高分辨率时钟声明变量?

转载 作者:行者123 更新时间:2023-12-01 14:52:33 25 4
gpt4 key购买 nike

在此处的示例中:https://en.cppreference.com/w/cpp/chrono/high_resolution_clock/now

他们用auto声明了时钟时间点。

auto start = std::chrono::high_resolution_clock::now();

文档说它返回“代表当前时间的时间点”。

但我不确定如何在下面的代码中声明,因为我习惯于在函数开头声明变量,而我不知道将其声明为什么。此处的代码已被简化以表明我的意思。我为 ??? 添加了什么?

我已经在那里尝试过 auto 但编译器不允许。 auto orderRecvedTime; 给我这个错误:

error: non-static data member declared with placeholder 'auto'
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
#include <string.h>
//#include "load_symbol.h"
//#include "check_symbol.h"
#include "windows.h"
#include <vector>
#include <chrono>
using namespace std;



class order {
private:
string orderID;
??? orderRecvedTime;
char buysell;
string symbol;
double price;
int qty;

public:
void newOrder(string &_orderID, char &_buysell, string &_symbol, double &_price, int &_qty){
orderID = _orderID;
buysell = _buysell;
symbol = _symbol;
price = _price;
qty = _qty;
orderRecvedTime = std::chrono::high_resolution_clock::now();
}

};



int main() {
cout << "!!!Hello once more" << endl; // prints !!!Hello once more

vector<order> thebook;
string user_order = "";

string done = "done trading";
string orderID;
string orderaction;
string orderRecvedTime;
char buysell;
string symbol;
double price;
int qty;

while (user_order.compare(done) != 0) {
cout << "enter order"<< endl;
getline(cin, user_order);

stringstream lineStream(user_order);
lineStream >>orderaction>>orderID>> buysell >> symbol >> price>> qty;

order user_order;
if (orderaction.compare("D") == 0) {
cout << "you are making a new order."<< endl;
user_order.newOrder(orderID, buysell,symbol,price,qty);
thebook.push_back(user_order);
}
}
}

最佳答案

std::chrono::high_resolution_clock::time_point orderRecvedTime;

在实践中,high_resolution_clocksystem_clocksteady_clock 的类型别名,所以我的建议是选择其中之一来代替便携体验。

  • system_clock 就像一只 watch 。它可以告诉你现在几点了。
  • steady_clock 就像一个秒表。它非常适合计时,但不能真正知道一天中的时间。

关于c++ - 如何在 C++ 中为高分辨率时钟声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62185958/

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