Is there any guarantee of alignment of address return by C++'s new operation?-Collection of common programming errors
Most of experienced programmer knows data alignment is important for program’s performance. I have seen some programmer wrote program that allocate bigger size of buffer than they need, and use the aligned pointer as begin. I am wondering should I do that in my program, I have no idea is there any guarantee of alignment of address returned by C++’s new operation. So I wrote a little program to test
for(size_t i = 0; i < 100; ++i) {
char *p = new char[123];
if(reinterpret_cast(p) % 4) {
cout