求助,想用map实现维护一个下载列表,刚学,代码有问题,求指导#defineMAX 64#defineMAX_PATH 260typedef stru
求助,想用map实现维护一个下载列表,刚学,代码有问题,求指导
#define MAX 64
#define MAX_PATH 260
typedef struct NODE
{
char uuid[MAX];
char FileName[MAX_PATH];
//int* host;
long long size;
long long downsize;
int flag;
}NODE;
int main()
{
typedef map<string,NODE> DownloadFile;
DownloadFile file;
file.insert(make_pair("haha", ("haha","lala", 123, 21,1)));
// 根据key值查找UserStruct
file.find("haha");
}
[解决办法]如果要求查找速度,选择map没有错啊,list的遍历速度太慢了
[解决办法] NODE 你这个类都没有相应的多参数构造函数,添加一个多参数构造函数。
make_pari的时候,调用构造函数生成一个Node,就行了。
[解决办法]NODE n("haha","lala", 123, 21,1);
file.insert(make_pair("haha", n));
[解决办法]1)
int CDownloadFileInfo::setFileName(char *name)
{
if (name == NULL)
{
return 0;
}
memcpy(file.FileName,name,strlen(name)+1);
return strlen(name); //既然函数需要返回值,那就应该返回一个数值。
// 不然 void CDownloadFileInfo::setFileName(char *name) 多好呀!
}
2)运行时没有错误呀
[解决办法]
第一,能用就好。
第二,保证能用的情况下,提高代码的可读性,通用性,安全性,提高运行效率,编译效率。
第三,有时代码开发效率,比运行效率更重要,这个要适当取舍。
第四,在正确性,可读性,安全性,得到保证的前提下,提高效率,让编码风格更好。