Рассмотрим следующую (упрощенную) ситуацию:
class Foo
{
private:
int evenA;
int evenB;
int evenSum;
public:
Foo(int a, int b) : evenA(a-(a%2)), evenB(b-(b%2)), evenSum(evenA+evenB)
{
}
};
Когда я создаю экземпляр Foo следующим образом:
Foo foo(1,3);
тогда evenA равен 0, evenB равен 2, но будет ли evenSum инициализирован равным 2?
Я попробовал это на моей текущей платформе (iOS), и, похоже, это работает, но я не уверен, является ли этот код переносимым.
Спасибо за помощь!