тип данных в структуре c ++ - PullRequest
0 голосов
/ 09 марта 2020

Я новичок в программировании, и это мой первый год в C ++.

Все, что я понял, это то, что структуры - это переменные со многими различными типами данных ... Мне было интересно, если это как контейнер типов данных. Или это просто данные? Или оба?

Например:

struct data {

int    data_type_integer;
string data_type_string;
char   data_type_char;
float  data_type_float;
} variable1;

Таким образом, в этом случае переменная (variable1) содержит 4 типа данных: (int, string, char, float)

Но что, если у нас есть 2 одинаковых типа данных? например:

struct data {
string data_type_string
string data_type_string2
};

В этом случае структура имеет 2 одинаковых типа данных в одной переменной; Как это возможно?

Переменная struct переменная является настраиваемой переменной типа данных или контейнером многих переменных, которые становятся данными для переменной?

Спасибо. (Я продолжаю задавать мне этот вопрос, и я не могу найти результаты в Интернете, и извините за мой плохой Engli sh.)

Ответы [ 3 ]

0 голосов
/ 09 марта 2020

A struct или class содержат несколько переменных-членов (и функций). Вы используете имена, чтобы ссылаться на них, а не на тип, поэтому наличие нескольких одинаковых типов не является проблемой.

data myvar;
myvar.data_type_string = "First String";
myvar.data_type_string2 = "Second String";

Или по позиции (порядок объявления сверху вниз) в агрегатной инициализации.

data myvar = {"First String", "Second String"};

То, что вы не можете иметь, это два члена с одинаковым именем.

struct data {
    int mymember;
    std::string mymember; // error
};
0 голосов
/ 09 марта 2020

Структура - это в основном агрегированный тип данных ( посмотрите другие примеры здесь ). Это в основном позволяет группировать несколько отдельных переменных вместе. Переменные могут иметь одинаковые или смешанные типы данных. Этот может быть полезным ресурсом для начинающих.

0 голосов
/ 09 марта 2020

Вы можете думать о структуре как о списке полей (членов). И каждое поле имеет определенный тип c. Возможно, что два (или все) поля имеют один и тот же тип.

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