this is a function imade the other day. i would like to know what do you think about it, and if you have any ideas how to improve it.

btw, c-strings support is almost the same although i didnt include it.Code:`#include <iostream>`

#include <string>

std::string ITOA(long Num){

std::string result="";

long * a = new long;

long unsigned b = 0;

for(*a=1;reinterpret_cast<long>(Num/(*a))>0;(*a)*= 10){

b++;

}

*a/=10;

long c = *a;

while(result.length()<b){

result+=(Num/(*a))+48;

Num -= int((double(Num)/(c*100))*100)*c;

if(*a!=1){

*a/=10;

}

}

delete a;

return result;

}

long ITOA(std::string Num){

long * result = new long;

*result = 0;

long NumOfZeroes = Num.length();

long * Num1 = new long;

for(long i=0;i<Num.length();i++){

*Num1 = long(Num.c_str()[i])-48;

for(long b=0;b<NumOfZeroes;b++){

*Num1 *=10;

}

(*result) += *Num1;

NumOfZeroes--;

}

return (*result)/10;

}