В чем разница между std :: quick_exit и std :: abort и зачем нужен std :: quick_exit?

Я думаю, что лучший ответ о том, почему компилятор принимает это, относится к родовым классам. Рассмотрим следующий класс ...

public class NullTester<T>
{
    public bool IsNull(T value)
    {
        return (value == null);
    }
}

Если компилятор не принимал сравнения с null для типов значений, тогда он существенно побил бы этот класс, имея неявное ограничение, связанное с его параметром типа (т. е. он будет работать только с типами, не основанными на стоимости).

37
задан Jon Purdy 18 March 2012 в 16:19
поделиться