Which is faster post increment or pre increment ? and in
which cases should u use either - to increase speed?
Answers were Sorted based on User's Feedback
Answer / me
In normal cases where we use x++ or ++x for integer
variables in loops etc, both behave the same.
However, when we have classes that overload the ++
operator, it's faster to use the ++x rather than x++.
This is because when we do x++, a temporary object is
created to point to the original value, then the value is
incremented, and the pointer is updated and returned.
in case of ++x, just the value is incremented and pointer
to itself is returned. therefore ++x is faster in this case.
| Is This Answer Correct ? | 31 Yes | 1 No |
Answer / mms zubeir
The above answer seems to be correct but for normal cases
also the behavior is as explained, it is not only for
overloaded case.
A little deeper, since a temporary object is introduced to
swap older and newer values, extra copying is required
which swallow its own CPU time. So the post increment
operator is a bit slower.
But this difference is feeble.
| Is This Answer Correct ? | 16 Yes | 1 No |
which is platform independent device used in computers
why c++ is called OOPS? waht is inherutance? what is compiler?
What is the main purpose of inheritance law?
what is cast operator?
What is new keyword in oops?
Write a program to reverse a string using recursive function?
What is constructor overloading in oop?
What is a template?
some one give d clear explanation for polymorphism
what is a binary overloading
#include <stdio.h> #include <alloc.h> #include <stdlib.h> #include <conio.h> void insert(struct btreenode **, int); void inorder(struct btreenode *); struct btreenode { struct btreenode *leftchild; struct btreenode *rightchild; int data; }; main() { struct btreenode *bt; bt=(struct btreenode *)NULL; int req,i=1,num; clrscr(); printf("Enter number of nodes"); scanf("%d",&req); while(i<=req) { printf("Enter element"); scanf("%d",&num); insert(&bt,num); i++; } inorder(bt); } void insert(struct btreenode **sr, int num) { if(*sr==NULL) { *sr=(struct btreenode *)malloc (sizeof(struct btreenode)); (*sr)->leftchild=(struct btreenode *)NULL; (*sr)->rightchild=(struct btreenode *)NULL; (*sr)->data=num; return; } else { if(num < (*sr)->data) insert(&(*sr)->leftchild,num); else insert(&(*sr)->rightchild,num); } return; } void inorder(struct btreenode *sr) { if(sr!=(struct btreenode *)NULL) { inorder(sr->leftchild); printf("\n %d",sr->data); inorder(sr->rightchild); } else return; } please Modify the given program and add two methods for post order and pre order traversals.
difference between class and object
10 Answers Chandan, IBM, Magic Soft,