Wednesday 6 March 2019

move - Application of C++ Explicit Constructor

An explicit constructor is a function that does not get called in implicit type conversion.



For example:



class A {

A( int a ) {}
};

void foo( A a ) {}


Here is totally legal to call foo(1) or use any variable of type int or that can be implicitly converted to an int. This is not always desirable, as it would mean that A is convertible from an integer, instead of being defined with an integer. Adding the explicit would avoid the conversion and, hence, give you a compilation error.

No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...