On 26 Dec, 18:33, NK <nagendra...@gmail.comwrote:
Quote:
char *a="nnnnnnn fgjfjgjf";
* char *b="ABC jjjjjjjjjhhhh";
>
to swap these two string......
*this swap fn is working
>
template<class T>
void Swap( const T *&a,const *T **&b)//no need to write const
{
* * *T *temp;
* * *temp=a;
>
* * *a=b;
>
* * *b=temp;
>
}
>
but to swap
>
char a[]="nhfhdhfhh fgjfjgjf";
* * * *char b[]="ABC jjjjjjjjjhhhh";
>
these char array its not.
why?
how a[] and b[] can be swapped?
give effficient soln.
don't use swap fn of string library(string1.swap(string2))
>
Thanx in advance
Obviously homework, but it's Christmas ...
You can't do this directly - arrays are not assignable.
You could do a character-by-character swap, but then
what if the arrays are of different lengths?
But all of this is academic, you can achieve what you
need like this:
char a[]="nhfhdhfhh fgjfjgjf";
char b[]="ABC jjjjjjjjjhhhh";
char* ap = a;
char* bp = b;
// use ap for a, bp for b
std::swap(ap, bp);
// ap now points to b[], bp to a[]