C++ 将记录推送到数据结构中的堆栈
我想知道是否可以使用C++ 将记录推送到数据结构中的堆栈,c++,data-structures,C++,Data Structures,我想知道是否可以使用 int age = 21; string name = "marc"; char gender = 'M'; std::stack stck; stck.push (age,name,gender); 到堆栈中。 我所看到的只是将一个项目推到堆栈中 创建一个包含要推送的信息的对象,然后推送该对象 struct Person { Person(int age, String name, char gender) : age(age), name(name), ge
int age = 21;
string name = "marc";
char gender = 'M';
std::stack stck;
stck.push (age,name,gender);
到堆栈中。我所看到的只是将一个项目推到堆栈中 创建一个包含要推送的信息的对象,然后推送该对象
struct Person
{
Person(int age, String name, char gender) : age(age), name(name), gender(gender) {}
int age;
String name;
char gender;
};
Stack<Person> s;
s.push(Person(age, name, gender));
struct-Person
{
Person(int-age,String-name,char-gender):年龄(age),姓名(name),性别(gender){}
智力年龄;
字符串名;
性别;
};
堆栈s;
s、 推送(人(年龄、姓名、性别));
<>这是完全正常的C++,任何C++书籍都会详细解释。p> 要定义任意数据记录而不创建自己的
结构
或类
,可以使用:
#包括
#包括
#包括
使用PersonRecord=std::tuple;
int main(){
std::堆栈s;
s、 push(std::make_tuple(21,“Marc”,“M”);
s、 push(std::make_tuple(25,“Maria”,“F”);
}
看到它在工作。Google:“OOP”。创建一个人或任何东西并使用它。确保你可以将记录推送到任何地方。只需将记录创建为类或结构,然后继续。谢谢,我没有具体说明这个问题,对此我很抱歉。@owonubijobsdanday您不是很具体。正如你所看到的,这两种方法都很好。您可以为记录创建自定义结构/类,也可以使用我的通用建议。完全取决于你在问题中没有提到的进一步要求。
#include <tuple>
#include <stack>
#include <string>
using PersonRecord = std::tuple<int,std::string,char>;
int main() {
std::stack<PersonRecord> s;
s.push(std::make_tuple(21,"Marc",'M'));
s.push(std::make_tuple(25,"Maria",'F'));
}