what is difference between static and non-static variables
Answers were Sorted based on User's Feedback
Answer / sv
static variable retains its value like a global variable,
but visible with in the scope.
While non static variable will not be retained one it come
out of the scope or block. Again the visibility is local to
the block.
| Is This Answer Correct ? | 53 Yes | 8 No |
Answer / udit rawat
static variable take memory first at linking and loading time
while non static variable take memory at compile time
| Is This Answer Correct ? | 35 Yes | 11 No |
Answer / mahesh_b.tech@2008
Non-static variables:
Instance block can be executed automatically when you were
creating the object.
Instance variables can be called by using with the object.
Instance variables can not called by using the class name.
memory will be alocated for instanse variables when you
create the object.
Static variables:
static block will be executed automatically when jvm(Java
Virtual Machine)loading the class into memory.
static varisble can be called using both objectname&class
name.
memory will be allocated when jvm loads the class.
| Is This Answer Correct ? | 13 Yes | 4 No |
Answer / sengar
static variable will not be change value all time but non
static value can be changed according requirement .
without giving any value static variable automatically
initialize by zero but in non-static case not the same
case.
| Is This Answer Correct ? | 11 Yes | 2 No |
Answer / daxini
Static :
A static variable is defined for the class itself and exists independently of any object of that class.
non-static:
a non static variable is defined for object of the class thus it is bound to an instance of its class
| Is This Answer Correct ? | 10 Yes | 2 No |
Answer / narender vadhava
static variables have their fix values within a program but
in case of non-static variables their values are changable
within the same program.
syntax of static variable:-
static int s;
while
non static variables declared only by using general basic
data type.
as:-
int s;
| Is This Answer Correct ? | 14 Yes | 12 No |
Answer / arun kumar
Initialization of static variables is at compile time,
but in case of non-static variables is at run time.
| Is This Answer Correct ? | 6 Yes | 7 No |
Answer / basharat ali
satatic variable use any where but non-static variable can
use with in a block..............
| Is This Answer Correct ? | 2 Yes | 6 No |
Answer / achal ubbott
The above answers are correct. A local static variable is
stored in heap. But a local variable is stored onto stack.
A Global variable made static can't be accessed from a
function outside the file using extern. So it limits the
scope.
| Is This Answer Correct ? | 2 Yes | 10 No |
What is the identity function in c++? How is it useful?
Write a program to swap 2 chars without using a third varable? char *s = "A"; char *p = "B";
What are pointer-to-members in C++? Give their syntax.
On throwing an exception by the animal constructor in p = new animalq, can memory leak occur?
What is meant by a delegate?
What are pointer-to-members? Explain.
What ANSI C++ function clears the screen a) clrscr() b) clear() c) Its not defined by the ANSI C++ standard
What is a tuple c++?
Do we have private destructors?
What is a set in c++?
template<class T, class X> class Obj { T my_t; X my_x; public: Obj(T t, X x) : my_t(t), my_x(x) { } }; Referring to the sample code above, which one of the following is a valid conversion operator for the type T? a) T operator T () { return my_t; } b) T operator(T) const { return my_t; } c) operator(T) { return my_t; } d) T operator T (const Obj &obj) { return obj.my_t; } e) operator T () const { return my_t; }
difference between macro and function?