Результаты поиска по запросу "language-lawyer"
Почему при извлечении строки из потока устанавливается бит eof?
Допустим, у нас есть поток, содержащий просто: helloОбратите внимание, что нет никаких дополнительных\n в конце, как это часто бывает в текстовом файле. Теперь следующий простой код показывает, чтоeof бит устанавливается в потоке после ...
Какова реальная причина не использовать бит EOF в качестве условия извлечения потока?
Вдохновленный моимпредыдущий вопрос [https://stackoverflow.com/q/14591203/150634] Распространенной ошибкой для новых программистов на C ++ является чтение из файла с чем-то вроде: std::ifstream file("foo.txt"); std::string line; while ...
в c ++ преобразование из unsigned int в int всегда сохраняет битовый шаблон?
Из стандарта (4.7) выглядит, что преобразование из int в unsigned int, когда они оба используют одинаковое количество битов, является чисто концептуальным: Если тип назначения является беззнаковым, полученное значение является наименьшим целым ...
Различия между std :: is_integer и std :: is_integral?
C ++ 11 предоставляет два типа шаблонов классов признаков:std::is_integer а такжеstd::is_integral, Однако я не могу сказать различия между ними. Какой тип, скажем, T, может сделатьstd::is_integer<T>::value правда ...
Висячие ссылки и неопределенное поведение
Предположим, свисающая ссылкаx, Это неопределенное поведение, чтобы просто написать &x;или даже x;?
Где стандарт C ++ описывает приведение указателей к примитивам?
В отличном блогеЧто каждый программист должен знать о неопределенном поведении [http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html]В разделе «Правила нарушения типов» говорится: Это неопределенное поведение - приводить int * к ...
Присоединение std :: vector к себе, неопределенное поведение?
Этот вопрос [https://stackoverflow.com/q/14781264/237483]заставил меня сомневаться в добавлении вектора к себе. Итак, вопрос: следующие строки кода делают то, что я ожидаю, но соответствует ли это стандарту? vec.reserve(vec.size() * 2): ...
Почему множественные приращения / убывания действительны в C ++, но не в C?
тест. (с / CPP) #include <stdio.h> int main(int argc, char** argv) { int a = 0, b = 0; printf("a = %d, b = %d\n", a, b); b = (++a)--; printf("a = %d, b = %d\n", a, b); return 0; }Если я сохраню вышеупомянутое как файл .cpp, он компилирует и ...
Арифметика указателей через границы подобъектов
Имеет ли следующий код (который выполняет арифметику указателей через границы подобъектов) хорошо определенное поведение для типовT для которого он компилируется (который в C ++ 11,не обязательно должен быть ...
Почему common_type <long, unsigned long> :: type = long long?
common_type<long, unsigned long>::type являетсяunsigned long потому что относительно операндов после интегрального продвижения стандарт говорит ... [...] если операнд с целочисленным типом без знака имеет ранг, больший или равный рангу типа ...