C++ 如何拥有具有多个值的关联数组

C++ 如何拥有具有多个值的关联数组,c++,arrays,associative-array,C++,Arrays,Associative Array,我有一张专辑,标题是《发行年份》和专辑中的歌曲 我的阵列设置如下: std::string alb_name[256]['title', 'year', 'songs']; 但我希望歌曲关联数组最多容纳20首歌曲。 有没有一个简单的方法可以做到这一点?我在编程一班,我想不出一个方法来做。欢迎提供任何帮助。C++有一种称为std::map的东西,可以作为关联数组使用 #include <map> #include <string> #include <vector&

我有一张专辑,标题是《发行年份》和专辑中的歌曲

我的阵列设置如下:

std::string alb_name[256]['title', 'year', 'songs'];
但我希望歌曲关联数组最多容纳20首歌曲。
有没有一个简单的方法可以做到这一点?我在编程一班,我想不出一个方法来做。欢迎提供任何帮助。

C++有一种称为std::map的东西,可以作为关联数组使用

#include <map>
#include <string>
#include <vector>

struct AlbumData
{
    int year;
    std::vector<std::string> songs;
};

std::map<std::string, AlbumData> albums;

AlbumData d;
d.year = 1966;
d.songs.push_back("A Day in the Life");
d.songs.push_back("When I'm 64");
albums["Sgt Pepper's Lonely Hearts Club Band"] = d;

等等。

C++有一种称为std::map的东西,可以作为关联数组使用

#include <map>
#include <string>
#include <vector>

struct AlbumData
{
    int year;
    std::vector<std::string> songs;
};

std::map<std::string, AlbumData> albums;

AlbumData d;
d.year = 1966;
d.songs.push_back("A Day in the Life");
d.songs.push_back("When I'm 64");
albums["Sgt Pepper's Lonely Hearts Club Band"] = d;
等等。

结构数据:

struct Album {
    string title;
    string year;
    vector<string> tracks;
};
结构构造数据:

struct Album {
    string title;
    string year;
    vector<string> tracks;
};

首先,您要使用数据库:

您将需要多个关联数组或贴图。这将允许您根据不同字段进行搜索和排序

例如: 标题表

+----------+-------+  
| ID_Title | Title |  
+----------+-------+  
艺术家桌

+-----------+-------------+
| ID_Artist | Artist name |
+-----------+-------------+
歌桌

+-----------+----------+
| ID_Artist | ID_Title |
+-----------+----------+
您可以将歌曲表设置为按艺术家或标题排序


还可以在web上搜索数据库标准表单。

首先,您要使用数据库:

您将需要多个关联数组或贴图。这将允许您根据不同字段进行搜索和排序

例如: 标题表

+----------+-------+  
| ID_Title | Title |  
+----------+-------+  
艺术家桌

+-----------+-------------+
| ID_Artist | Artist name |
+-----------+-------------+
歌桌

+-----------+----------+
| ID_Artist | ID_Title |
+-----------+----------+
您可以将歌曲表设置为按艺术家或标题排序


还可以在web上搜索数据库的正常形式。

为什么将自己限制在二十个?为什么将自己限制在二十个?我将对此进行调查,感谢您为我指明了正确的方向!我会调查的,谢谢你给我指明了正确的方向!这是非常有用的,但我得到了一个错误:“vector”没有命名类型示例不完整。向量和映射是C++标准库的一部分。它应该出现在您使用的任何文档中。这非常有用,但我得到一个错误:“vector”没有命名类型示例不完整。向量和映射是C++标准库的一部分。它应该在您使用的任何文档中。