В основном классе я печатаю sizeof (person-> name), а затем делаю sizeof (name), которые совпадают
как я передаю тот же массив символов конструктору Person
Но почему я получаю разные результаты в обоих случаях
в первом случае sizeof возвращает 32
тогда как во втором случае sizeof return 6
Это вывод
Это код: -
#include <iostream>
#include "Person.h"
int main()
{
char name[] = {'H','o','b','b','i','t'};
Person *person = new Person(name , 203);
std::cout << "p->Name size - " << sizeof(person->name) << " char array size " << sizeof(name) << std::endl;
delete person;
return 0;
}
#include "Person.h"
#include <iostream>
Person::Person(){};
Person::Person(char name[],int age)
{
this->name = name;
this->age = age;
}
Person::~Person()
{
std::cout << "\n Destructor called" << std::endl;
}
void Person::sayHello()
{
std::cout << "\n Hello " << this->name << " " << this->age << std::endl ;
}