Instance where inline C ++ compilers do not support multiple inheritance?

I read a little about the previous attempt to make the C ++ standard for embedded platforms, where they specifically said that multiple inheritance was bad and therefore not supported. From what I understand, this has never been implemented as a mainstream, and most C ++ built-in compilers support most of the standard C ++ constructs.

Are there cases where the compiler on the current embedded platform (i.e. something no more than a few years old) absolutely does not support multiple inheritance?

I really don't want to do multiple inheritance in the sense that I have a child with two full class implementations. What interests me most is the inheritance from one class implementation, and then also the inheritance of one or more pure virtual classes only as interfaces. This is roughly equivalent to Java / .Net, where I can extend only one class, but implement as many interfaces as I need. In C ++, all this is done using multiple inheritance, and not with the ability to specifically define an interface and declare a class that implements it.

Update:

I am not interested if this is or is not technically C ++, as it was an attempt to plunge into C ++ for C programmers to cope, generate smaller binaries or any other religious theme that people use to conduct fiery wars.

: , , ++ (.. GCC MSVC), . ++ , .

+3
6

, E++, 16 32- , ++ (, GCC 3. x E++ ). ISO ++, . ++ , .

, . , "" "" ++, - , .

, E++ ++ E++ ++. , , .

Green Hills, IAR Keil E++, , , ISO ++. E++, , , .

++ , ISO ++ E++.

+2

"Embedded ++", - . , , ++ , , - , ++.

, . - C . . C , . " ++" , ++ .

+4

MI, ++.

+2

, , ++- (.. GCC MSVC),

, , . , , MI , , , C.

0

. ++, , , , N , . , , , , , .

0

, 2014 :

Apple OS X, XNU Kernel - (libkern) .

Mac:

I/O libkern ++, ++, . , libkern ++ , , ++ (RTTI). ++ RTTI , , , . RTTI . libkern ++ , .

, . , . , - Kit , , . try, throw catch . -, , .

Apple ++, , libkern, OSObject OSMetaClass ,


So yes, it’s still in production environments on real systems. Not much, but it exists. This is more often when you are encoding incomplete equipment, because the compiler port may also be incomplete.

As the person who writes a lot of low-level frameworks, I fully expect that I will be able to use C11 this year ... never. Yargh.

0
source

Source: https://habr.com/ru/post/1747546/


All Articles