Re: Two-Dimensional Dynamic Arrays
Kai-Uwe Bux wrote:
[color=blue][color=green][color=darkred]
> >> >> >> It's quite easy to turn [A][B] into (A,B) with no loss of
> >> >> >> performance (on a good optimizing compiler).[/color][/color][/color]
[color=blue]
> The statement is clearly meaningful. Whether it is true is a slightly
> different matter. This pretty much depends on how you understand "easy". If
> you consider writing a proxy class like the two presented complicated, you
> will consider the statement false -- although you should agree to the
> weaker version:
>
> It's *possible* to turn [A][B] into (A,B).
>
> This possibility has been demonstrated.[/color]
Actually, what your proxy class did was to demonstrate that () could be
turned into [][] as what your proxy did was to create an adapter to
call () with the [][] interface...in other words the interface was
changed from () TO [][], not the other way. This is a rather important
distinction as it shows which was the more natural way to provide a
service. It also did a good job of illistrating how this added several
layers of totally unnecissary complexity.
At any rate, your assertion is without meaning. Of course it is
possible to call () with [][] or [][] with (). This does not mean the
two are equivilent in nature. Any claim otherwise is a failure in
logic. It is also possible to make operator * mean addition in C++,
and much more simply in fact. Is it useful? Is it introducing or
removing problems? Those are the questions to ask yourself.
No matter how you choose to alter the topic of discussion it was
certainly never asserted by anyone that it was not possible to call one
function with another. The *possibility* of generating the classes and
functions necissary to provide an interface for an artificially imposed
syntax was NEVER disputed. There is no end to the stupid things that
are *possible* to do. If that is all you have left to cling to then
there is nothing left to argue.
Kai-Uwe Bux wrote:
[color=blue][color=green][color=darkred]
> >> >> >> It's quite easy to turn [A][B] into (A,B) with no loss of
> >> >> >> performance (on a good optimizing compiler).[/color][/color][/color]
[color=blue]
> The statement is clearly meaningful. Whether it is true is a slightly
> different matter. This pretty much depends on how you understand "easy". If
> you consider writing a proxy class like the two presented complicated, you
> will consider the statement false -- although you should agree to the
> weaker version:
>
> It's *possible* to turn [A][B] into (A,B).
>
> This possibility has been demonstrated.[/color]
Actually, what your proxy class did was to demonstrate that () could be
turned into [][] as what your proxy did was to create an adapter to
call () with the [][] interface...in other words the interface was
changed from () TO [][], not the other way. This is a rather important
distinction as it shows which was the more natural way to provide a
service. It also did a good job of illistrating how this added several
layers of totally unnecissary complexity.
At any rate, your assertion is without meaning. Of course it is
possible to call () with [][] or [][] with (). This does not mean the
two are equivilent in nature. Any claim otherwise is a failure in
logic. It is also possible to make operator * mean addition in C++,
and much more simply in fact. Is it useful? Is it introducing or
removing problems? Those are the questions to ask yourself.
No matter how you choose to alter the topic of discussion it was
certainly never asserted by anyone that it was not possible to call one
function with another. The *possibility* of generating the classes and
functions necissary to provide an interface for an artificially imposed
syntax was NEVER disputed. There is no end to the stupid things that
are *possible* to do. If that is all you have left to cling to then
there is nothing left to argue.
Comment