卡住了,需要帮助从矢量列表返回时间跨度
stuck, Need help returns time span from vector list
我有一个消息列表,每次添加消息时我都设置一个时间戳。我试图创建一个函数,将返回在一定时间内添加的消息,也匹配一个字符串。然而,我现在卡住了,任何帮助都非常感激,下面是我的代码:
struct BarMessage
{
int Length;
const char *message;
time_t TimeAdded;
};
struct Ba
{
vector<BarMessage> Messages;
void AddMessage(const char *message, int Length)
{
BarMessage m;
m.message = message;
m.Length = Length;
time(&m.TimeAdded); // set time ?
Messages.push_back(m);
}
BarMessage & GetMessageWithin(string pattern, int span = 200)
{
//Time.Now?
time_t now;
time(&now);
if (this->Messages.size() > 0)
{
for (auto & messages : this->Messages)
{
//Stuck here!!!
//I want to return the BarMessage of a message
//that was added within 200 (span)
//that also contains the string patten inside it
}
}
}
};
首先在BarMessage中使用string
struct BarMessage
{
int Length;
string message;
time_t TimeAdded;
};
有关查找匹配字符串http://www.cplusplus.com/reference/string/string/find/的更多信息。你为什么用char*
而不是string
,有什么好的理由吗?您确定要从这个函数返回一个引用吗?为什么传递pattern作为值而不是作为const
引用?
BarMessage & GetMessageWithin(const string& pattern, int span = 200)
{
//Time.Now?
time_t now;
time(&now);
if (this->Messages.size() > 0)
{
for (auto & messages : this->Messages)
{
if (now - messages.TimeAdded <= 200 &&
messages.message.find(pattern) != std::string::npos) {
//then return this message
}
}
}
}
相关文章:
- C++:如何使函数只返回作为列表一部分的字符串
- 将大括号括起来的初始值设定项列表作为结构返回
- 从封装在对象中的函数 C++ 返回时为空的列表
- 如何在不销毁对象的情况下返回对象列表
- 什么更好?返回对象指针列表?或返回指向对象列表的指针?
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- 给定一个源文件,有没有办法要求 gcc 返回仅直接包含的头文件的列表?
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- 将新元素添加到列表中,并返回对该元素的引用?
- 从非托管 C# DLL 返回列表/数组
- 如何在c++中返回unique_ptr的列表
- 类型映射资源并将列表转换为矢量(并返回)
- 从基于属性的列表中返回随机对象
- 在返回参数列表中C++局部变量(如CodeFights所示)
- 函数的返回是 LPVOID 或更好的指向列表的指针
- 从初始化列表返回值
- 使用 boost::p ython,如何将结构体向量作为字典列表返回给 Python
- 从我的c++应用程序调用c#dll(解析XML文件),将数组/列表返回给c++
- 在c++ 11中编写一个元函数,从类型列表返回一个类型,该类型列表具有给定类型的定义类型
- 卡住了,需要帮助从矢量列表返回时间跨度