Click here to Skip to main content
15,072,776 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: In C++ compiler providing the default copy constructor ,then why do we need copy constructor Pin
jeron120-Sep-16 5:23
Memberjeron120-Sep-16 5:23 
AnswerRe: In C++ compiler providing the default copy constructor ,then why do we need copy constructor Pin
Saravanan Sundaresan24-Sep-16 19:53
professionalSaravanan Sundaresan24-Sep-16 19:53 
QuestionRight method of swapping arrays and classes using pointers Pin
Javier Luis Lopez19-Sep-16 21:35
MemberJavier Luis Lopez19-Sep-16 21:35 
AnswerRe: Right method of swapping arrays and classes using pointers Pin
Richard MacCutchan19-Sep-16 22:19
mveRichard MacCutchan19-Sep-16 22:19 
GeneralRe: Right method of swapping arrays and classes using pointers Pin
leon de boer20-Sep-16 0:41
Memberleon de boer20-Sep-16 0:41 
GeneralRe: Right method of swapping arrays and classes using pointers Pin
Javier Luis Lopez17-Aug-17 23:11
MemberJavier Luis Lopez17-Aug-17 23:11 
GeneralRe: Right method of swapping arrays and classes using pointers Pin
Richard MacCutchan17-Aug-17 23:32
mveRichard MacCutchan17-Aug-17 23:32 
GeneralRe: Right method of swapping arrays and classes using pointers Pin
Javier Luis Lopez20-Aug-17 20:19
MemberJavier Luis Lopez20-Aug-17 20:19 
Because I would like to swap pointers, not to copy all the data. If I swap 2 arrays of 1k size using pointers is 1000x times faster than copying all the data.

This code do it using void * pointers (but I do not know if it could work in other SO), so the next step is to place it in a function:

int a[3]={100,101,102};
int b[3]={200,201,202};
void *x;int *a1=a,*b1=b;
x=(void *) a1;a1=b1;b1=(int *) x;
cout << "a:"<<a1[0]<<" "<<a1[1]<<" "<<a1[2]<<endl;
cout << "b:"<<b1[0]<<" "<<b1[1]<<" "<<b1[2]<<endl;


I tried this function using C++11 and seems to work:
template<class A>
void swap(A *&a,A *&b)
{
	A *x=a;a=b;b=x;
}

void main()
{
	int a[3]={100,101,102};
	int b[3]={200,201,202};
	int *a1=a,*b1=b;
	swap(a1,b1);
	cout << "a:"<<a1[0]<<" "<<a1[1]<<" "<<a1[2]<<endl;
	cout << "b:"<<b1[0]<<" "<<b1[1]<<" "<<b1[2]<<endl;
}


Unfortunately I cannot call swap using a and b:
swap(a,b)


modified 21-Aug-17 3:52am.

GeneralRe: Right method of swapping arrays and classes using pointers Pin
Richard MacCutchan20-Aug-17 21:46
mveRichard MacCutchan20-Aug-17 21:46 
AnswerRe: Right method of swapping arrays and classes using pointers Pin
leon de boer20-Sep-16 15:27
Memberleon de boer20-Sep-16 15:27 
GeneralRe: Right method of swapping arrays and classes using pointers Pin
Saravanan Sundaresan24-Sep-16 21:01
professionalSaravanan Sundaresan24-Sep-16 21:01 
QuestionImage processing in C Pin
Ravi Shanakar Singh16-Sep-16 19:23
MemberRavi Shanakar Singh16-Sep-16 19:23 
AnswerRe: Image processing in C Pin
Jochen Arndt16-Sep-16 22:17
professionalJochen Arndt16-Sep-16 22:17 
AnswerRe: Image processing in C Pin
enhzflep18-Sep-16 15:34
Memberenhzflep18-Sep-16 15:34 
GeneralRe: Image processing in C Pin
leon de boer19-Sep-16 7:07
Memberleon de boer19-Sep-16 7:07 
GeneralRe: Image processing in C Pin
enhzflep19-Sep-16 20:48
Memberenhzflep19-Sep-16 20:48 
GeneralRe: Image processing in C Pin
leon de boer19-Sep-16 23:54
Memberleon de boer19-Sep-16 23:54 
AnswerRe: Image processing in C Pin
CPallini18-Sep-16 21:34
mveCPallini18-Sep-16 21:34 
GeneralRe: Image processing in C Pin
leon de boer19-Sep-16 7:09
Memberleon de boer19-Sep-16 7:09 
GeneralRe: Image processing in C Pin
CPallini19-Sep-16 9:14
mveCPallini19-Sep-16 9:14 
AnswerRe: Image processing in C Pin
leon de boer19-Sep-16 7:17
Memberleon de boer19-Sep-16 7:17 
QuestionCarlos Antollini ADO classes Pin
Member 1111024014-Sep-16 7:03
MemberMember 1111024014-Sep-16 7:03 
AnswerRe: Carlos Antollini ADO classes Pin
Victor Nijegorodov14-Sep-16 7:26
MemberVictor Nijegorodov14-Sep-16 7:26 
Questionvc630 vending machines Pin
Member 1273272111-Sep-16 8:04
MemberMember 1273272111-Sep-16 8:04 
AnswerRe: vc630 vending machines Pin
NotPolitcallyCorrect11-Sep-16 8:08
MemberNotPolitcallyCorrect11-Sep-16 8:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.