Скажем, у меня есть такая функция:
inline int shift( int what, int bitCount )
{
return what >> bitCount;
}
Он будет вызываться с разных сайтов каждый раз, когда bitCount
будет неотрицательным и в пределах числа бит в int
. Меня особенно беспокоит вызов с bitCount
равным нулю - будет ли он работать правильно?
Также существует вероятность того, что компилятор, просматривающий весь код функции при компиляции своего сайта вызова, уменьшит количество вызовов с bitCount
равным нулю для no-op?