Rails устанавливает макет из метода before_filter

Компилятор знает по типу cast. Учитывая void *x:

  • x+1 добавляет один байт в x, указатель переходит к байту x+1
  • (int*)x+1 добавляет sizeof(int) байты, указатель переходит к байт x + sizeof(int)
  • (float*)x+1 addres sizeof(float) байт и т. д.

Хотя первый элемент не переносится и выступает против Galateo of C / C ++, тем не менее, C-language-correct, то есть он скомпилирует что-то на большинстве компиляторов, возможно, требуя соответствующего флага (например, -Wpointer-arith)

20
задан guicassolato 12 July 2011 в 23:22
поделиться