我正在使用谷歌测试框架来测试硬件以太网交换机.某些操作(启用RSTP)需要时间来继续.所以我需要Sleep()在测试用例中实现某种函数:
TEST_F(RSTP, enableRSTP) {
snmp.set(OID, Integer32(3));
// after changing value switch is unavailable
// so I need to wait before request
auto result = snmp.get(OID);
auto res = std::get<Integer32>(result);
ASSERT_EQ(res, Integer32(3));
}
Run Code Online (Sandbox Code Playgroud)
我该如何做到这一点?
我曾经用新的方式在我的C++项目中分配内存
char* buffer = new char [size];
...
delete[] buffer;
Run Code Online (Sandbox Code Playgroud)
我真的很想继续前进并使用unique_ptr,就像这样
unique_ptr<char[]>buffer(new char[size]);
Run Code Online (Sandbox Code Playgroud)
但后来我用istream& get (char* s, streamsize n);它char*作为第一个参数,所以我该怎么办?我试过投射类型,但失败了.我也知道我可以使用vector<char>而不是指针,但我真的不想使用它.谢谢!