Понятие о пустоте на стыке миров
Приветствую.
Вопрос в том, есть ли типы с sizeof() == 0
версия gcc - 4.0.3
Потребовалось мне такое извращение для чего-то типа
т.е. чтобы получать указатель на кусок памяти за концом структуры как &_foobar.payload а не ((char*)&_foobar+sizeof(_foobar)) читаемости для.
Или лучше наплевать на читаемость и использовать (&foobar+1), чтобы оно не аукнулось в других версиях компилятора?
Вопрос в том, есть ли типы с sizeof() == 0
$ cat test.c
#include <stdio.h>
int main(int argc, char **argv) {
struct { } foo;
printf("sizeof(foo): %u\n", sizeof(foo));
return 0;
}
$ gcc -Wall test.c -o test
$ g++ -Wall test.c -o test++
$ ./test
sizeof(foo): 0
$ ./test++
sizeof(foo): 1версия gcc - 4.0.3
Потребовалось мне такое извращение для чего-то типа
struct foobar {
int data;
struct { } payload;
};т.е. чтобы получать указатель на кусок памяти за концом структуры как &_foobar.payload а не ((char*)&_foobar+sizeof(_foobar)) читаемости для.
Или лучше наплевать на читаемость и использовать (&foobar+1), чтобы оно не аукнулось в других версиях компилятора?
