D - array.length++ not allowed?
- Kimberley Burchett <kimbly at kimbly.com> <Kimberley_member pathlink.com> Jan 17 2003
- "Carlos" <carlos8294 msn.com> Jan 17 2003
- Burton Radons <loth users.sourceforge.net> Jan 17 2003
- Russell Lewis <spamhole-2001-07-16 deming-os.org> Jan 21 2003
The expression array.length++ yields the compiler error "'array.length' is not an lvalue" Is this a bug or is it intentional? Kimberley Burchett
Jan 17 2003
"Kimberley Burchett" <kimbly at kimbly.comKimberley_member pathlink.com>
escribiσ en el mensaje news:b0a8hn$j0a$1 digitaldaemon.com...
| The expression array.length++ yields the compiler error
| "'array.length' is not an lvalue"
|
| Is this a bug or is it intentional?
|
|
| Kimberley Burchett
|
|
As far as I remember, yes, it's intentional, but I don't remember the
reason. I think it was something with not allowing novices to do things like
this:
for (int i=0;i<1000;i++) {
array.length++;
...
}
But someone also said that people still could do this:
for (int i=0;i<1000;i++) {
array.length+=1; //or array.length=array.length+1, if += not supported
either
...
}
That's what I can remember.
Carlos Santander
http://carlos3.netfirms.com/
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.443 / Virus Database: 248 - Release Date: 2003-01-10
Jan 17 2003
Kimberley Burchett wrote:The expression array.length++ yields the compiler error "'array.length' is not an lvalue" Is this a bug or is it intentional?
It was to prevent: array [array.length ++] = 45; Which is dependent on undefined behaviour.
Jan 17 2003
Kimberley Burchett wrote:The expression array.length++ yields the compiler error "'array.length' is not an lvalue" Is this a bug or is it intentional? Kimberley Burchett
Walter thought that array.length++; hid too much complexity. That statement can cause: * realloc * malloc/memcpy (if realloc has to move the array) * GC run (if malloc doesn't have space) Personally, I wish the syntax was legal...but I don't write the compiler.
Jan 21 2003









"Carlos" <carlos8294 msn.com> 