Когда мы динамически распределяем память из 5 элементов в куче, тогда почему она отображает более 5 элементов ???В этой программе я сделал указатель на символ str и дал динамическое распределение памяти, но когда он принимает размер динамической памяти, он отображает больше элементов, чем заданный размер. Например: -Если я дал 5-значный массив, он отображает больше, чем5 символов строки
#include<iostream>
#include<cstdlib>
using namespace std;
struct node
{
int tos;
int l;
char *str;
};
class balancing
{
struct node s;
public:
balancing();
balancing(int len);
void balance();
};
balancing::balancing()
{
s.tos=-1;
s.l=0;
s.str=NULL;
}
balancing::balancing(int le)
{
s.l=le;
s.str=new char[s.l];
s.tos=-1;
}
void balancing::balance()
{
int length;
char ch1;
cout<<"Enter the String"<<endl;
cin>>s.str;
cout<<s.str;
}
int main()
{
int len;
cout<<"Enter the Length"<<endl;
cin>>len;
balancing b(len);
b.balance();
return 0;
}