1 |
On Sun, Jun 27, 2010 at 08:48:25PM +0300, Nikos Chantziaras wrote: |
2 |
> ... |
3 |
> It is allowed. Section 7.1.1, Paragraphs 2 and 3 of the C++ standard: |
4 |
> ... |
5 |
|
6 |
Not in C. |
7 |
ISO/IEC 9899:1999 (aka C99), section 6.7.1, note 101: |
8 |
> The implementation may treat any register declaration simply as an auto |
9 |
> declaration. However, whether or not addressable storage is actually |
10 |
> used, the address of any part of an object declared with storage-class |
11 |
> specifier register cannot be computed, either explicitly (by use of the |
12 |
> unary & operator as discussed in 6.5.3.2) or implicitly (by converting |
13 |
> an array name to a pointer as discussed in 6.3.2.1). Thus, the only |
14 |
> operator that can be applied to an array declared with storage-class |
15 |
> specifier register is sizeof. |