Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between implicit conversion and explicit conversion [duplicate]

Possible Duplicate:
Implicit VS Explicit Conversion

What is the difference between "implicit conversion" and "explicit conversion"? Is the difference different in Java and C++?

like image 858
saplingPro Avatar asked Sep 25 '11 07:09

saplingPro


1 Answers

An explicit conversion is where you use some syntax to tell the program to do a conversion. For example (in Java):

int i = 999999999;
byte b = (byte) i;  // The type cast causes an explicit conversion
b = i;              // Compilation error!!  No implicit conversion here.

An implicit conversion is where the conversion happens without any syntax. For example (in Java):

int i = 999999999;
float f = i;    // An implicit conversion is performed here

It should be noted that (in Java) conversions involving primitive types generally involve some change of representation, and that may result in loss of precision or loss of information. By contrast, conversions that involve reference types (only) don't change the fundamental representation.


Is the difference different in Java and C++?

I don't imagine so. Obviously the conversions available will be different, but the distinction between "implicit" and "explicit" will be the same. (Note: I'm not an expert on the C++ language ... but these words have a natural meaning in English and I can't imagine the C++ specifications use them in a contradictory sense.)

like image 131
Stephen C Avatar answered Oct 09 '22 12:10

Stephen C