, поэтому я играл с C++. Я пытался выяснить, можно ли определить структуру в определении другой структуры. И вот мой код.C++: определение структуры внутри другой структуры?
#include <iostream>
using namespace std;
int main(){
struct structure1{
int integer1;
struct structure2{
int integer2;
}struct2;
}struct1;
structure1 *s1 = &struct1;
s1->integer1 = 50;
cout<<"STRUCTURE ONE'S INTEGER: "<<s1->integer1<<endl;
cout<<"STRUCTURE ONE'S STRUCTURE2.integer2: "<<s1->struct2.integer2;
}
ВЫВОД:
$ ./a.out
STRUCTURE ONE'S INTEGER: 50
STRUCTURE ONE'S STRUCTURE2.integer2: 0
Из того, что я видел в выходе казалось, работает. Но я просто не понимаю, почему и как это работает. Это хорошая практика? Есть ли какие-либо приложения к этому?
Спасибо!
Там, кажется, не будет ничего плохого, кроме отсутствия инициализации 'integer2'. –
@ E_net4 Я сделал, но то, что я напечатал, по какой-то причине было отключено, я положил остальных обратно. – ddolce
Тем не менее, ваш вопрос заставляет задуматься, что вы не читали о совокупных типах на C++ и о том, что вы можете их вложить. –