Загрузка записей в стек в структуре данных - PullRequest
0 голосов
/ 13 января 2019

Мне было интересно, можно ли использовать

int age = 21;
string name = "marc";
char gender = 'M';
std::stack stck;
stck.push (age,name,gender); 

в стек.
Все, что я видел, только помещает один предмет в стек.

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Чтобы определить произвольные записи данных без создания собственных struct или class, вы можете использовать std::tuple:

#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'));

}

Посмотрите, как это работает здесь .

0 голосов
/ 13 января 2019

Вы создаете объект, содержащий информацию, которую вы хотите нажать и нажать на этот объект.

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));

Это совершенно нормальный C ++, и любая книга по C ++ будет объяснять детали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...