#include <iostream>
using namespace std;
struct A {
int i;
} ;
int main( int argc, char * argv[ ] ) {
A a{ 5 } ; //Constructs an A object on the stack
A* b = new A{ 7 } ; //Constructs an A object on the heap and stores a pointer to it in b
A* c = new A[ ] { //Construct an array of A objects on the heap and stores a pointer to it in c
{ 3 } ,
{ 4 } ,
{ 5 } ,
{ 6 }
} ;
std:: cout << "a: " << a.i << "\n " ; //Prints 'a: 5'
std:: cout << "b: " << b- > i << "\n " ; //Prints 'b: 7'
std:: cout << "c: " << c[ 0 ] .i << "; " << c[ 1 ] .i << "; " << c[ 2 ] .i << "; " << c[ 3 ] .i << "\n " ;
//Prints 'c: -33686019; -1414812757; -1414812757; -1414812757'
delete b;
delete [ ] c;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEEgewogICAgaW50IGk7Cn07CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CiAgICBBIGF7IDUgfTsgLy9Db25zdHJ1Y3RzIGFuIEEgb2JqZWN0IG9uIHRoZSBzdGFjawogICAgQSogYiA9IG5ldyBBeyA3IH07IC8vQ29uc3RydWN0cyBhbiBBIG9iamVjdCBvbiB0aGUgaGVhcCBhbmQgc3RvcmVzIGEgcG9pbnRlciB0byBpdCBpbiBiCiAgICBBKiBjID0gbmV3IEFbXSB7IC8vQ29uc3RydWN0IGFuIGFycmF5IG9mIEEgb2JqZWN0cyBvbiB0aGUgaGVhcCBhbmQgc3RvcmVzIGEgcG9pbnRlciB0byBpdCBpbiBjCiAgICAgICAgeyAzIH0sCiAgICAgICAgeyA0IH0sCiAgICAgICAgeyA1IH0sCiAgICAgICAgeyA2IH0KICAgIH07CiAgICBzdGQ6OmNvdXQgPDwgImE6ICIgPDwgYS5pIDw8ICJcbiI7IC8vUHJpbnRzICdhOiA1JwogICAgc3RkOjpjb3V0IDw8ICJiOiAiIDw8IGItPmkgPDwgIlxuIjsgLy9QcmludHMgJ2I6IDcnCiAgICBzdGQ6OmNvdXQgPDwgImM6ICIgPDwgY1swXS5pIDw8ICI7ICIgPDwgY1sxXS5pIDw8ICI7ICIgPDwgY1syXS5pIDw8ICI7ICIgPDwgY1szXS5pIDw8ICJcbiI7IAogICAgLy9QcmludHMgJ2M6IC0zMzY4NjAxOTsgLTE0MTQ4MTI3NTc7IC0xNDE0ODEyNzU3OyAtMTQxNDgxMjc1NycKCiAgICBkZWxldGUgYjsKICAgIGRlbGV0ZVtdIGM7CiAgICByZXR1cm4gMDsKfQ==
compilation info
prog.cpp: In function 'int main(int, char**)':
prog.cpp:11:18: error: expected primary-expression before ']' token
A* c = new A[] { //Construct an array of A objects on the heap and stores a pointer to it in c
^
prog.cpp:16:5: error: too many initializers for 'A [1]'
};
^
stdout