#include #include void dumpMem(void const* addr, size_t size) { unsigned char const* p = static_cast(addr); for(size_t i=0 ; i vec = {2, 16, 5, 123, 20}; printf("&vec = %p; sizeof(vec)=%d\n", &vec, sizeof(vec)); printf("vec="); dumpMem(&vec, sizeof(vec)); printf("&vec[0]=%p\n", &(vec[0])); dumpMem(&(vec[0]), sizeof(int)*vec.capacity()); vec.push_back(42); printf("&vec = %p; sizeof(vec)=%d\n", &vec, sizeof(vec)); printf("vec="); dumpMem(&vec, sizeof(vec)); printf("&vec[0]=%p\n", &(vec[0])); dumpMem(&(vec[0]), sizeof(int)*vec.capacity()); vec.pop_back(); printf("&vec = %p; sizeof(vec)=%d\n", &vec, sizeof(vec)); printf("vec="); dumpMem(&vec, sizeof(vec)); printf("&vec[0]=%p\n", &(vec[0])); dumpMem(&(vec[0]), sizeof(int)*vec.capacity()); int a[5]= {2, 16, 5, 123, 20}; printf("&a = %p; sizeof(a)=%d\n", &a, sizeof(a)); printf("a="); dumpMem(&a, sizeof(a)); printf("&a[0]=%p\n", &(a[0])); int b[3][4]= {{2, 16, 5, 123}, {20, 12, 53, 24}, {9, 0, 54, 26}}; printf("&b = %p; sizeof(b)=%d\n", &b, sizeof(b)); printf("b="); dumpMem(&b, sizeof(b)); printf("&b[0][0]=%p\n", &(b[0][0])); printf("&b[0][1]=%p\n", &(b[0][1])); printf("&b[1][0]=%p\n", &(b[1][0])); }