Re: [PATCH kvm-unit-tests 2/4] Introduce a C++ wrapper for the kvm APIs

Jes Sorensen
2010-11-24T17:17:17Z

On 11/24/10 18:11, Avi Kivity wrote:
> On 11/24/2010 07:06 PM, Jes Sorensen wrote:
>> Sorry but that is utterly and completely bogus! The enforcement is only
>> as good as the developers and maintainers make it,
>
> class File {
> public:
> virtual ~File() {}
> virtual void read(...) = 0;
> virtual void write(...) = 0;
> };
>
> Anyone wishing to implement this interface is forced to implement read
> and write methods (callbacks) with exactly the right signature. The
> compiler will complain if they don't. So if File is a good interface,
> we can make the compiler force people to use it correctly.
>
> We can emulate this in C with ->ops-> things, but that's just
> boilerplate and more places for people to get things wrong, or lazy and
> take shortcuts.

In the mean time we spend our time debugging the runtime because the
virtual functions don't behave as expected. In C we know what is going
on, in C++ it is pray and hope.

Jes