Результаты поиска по запросу "language-lawyer"

2 ответа

Почему при извлечении строки из потока устанавливается бит eof?

Допустим, у нас есть поток, содержащий просто: helloОбратите внимание, что нет никаких дополнительных\n в конце, как это часто бывает в текстовом файле. Теперь следующий простой код показывает, чтоeof бит устанавливается в потоке после ...

2 ответа

Какова реальная причина не использовать бит EOF в качестве условия извлечения потока?

Вдохновленный моимпредыдущий вопрос [https://stackoverflow.com/q/14591203/150634] Распространенной ошибкой для новых программистов на C ++ является чтение из файла с чем-то вроде: std::ifstream file("foo.txt"); std::string line; while ...

3 ответа

в c ++ преобразование из unsigned int в int всегда сохраняет битовый шаблон?

Из стандарта (4.7) выглядит, что преобразование из int в unsigned int, когда они оба используют одинаковое количество битов, является чисто концептуальным: Если тип назначения является беззнаковым, полученное значение является наименьшим целым ...

ТОП публикаций

4 ответа

Различия между std :: is_integer и std :: is_integral?

C ++ 11 предоставляет два типа шаблонов классов признаков:std::is_integer а такжеstd::is_integral, Однако я не могу сказать различия между ними. Какой тип, скажем, T, может сделатьstd::is_integer<T>::value правда ...

3 ответа

Висячие ссылки и неопределенное поведение

Предположим, свисающая ссылкаx, Это неопределенное поведение, чтобы просто написать &x;или даже x;?

3 ответа

Где стандарт C ++ описывает приведение указателей к примитивам?

В отличном блогеЧто каждый программист должен знать о неопределенном поведении [http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html]В разделе «Правила нарушения типов» говорится: Это неопределенное поведение - приводить int * к ...

1 ответ

Присоединение std :: vector к себе, неопределенное поведение?

Этот вопрос [https://stackoverflow.com/q/14781264/237483]заставил меня сомневаться в добавлении вектора к себе. Итак, вопрос: следующие строки кода делают то, что я ожидаю, но соответствует ли это стандарту? vec.reserve(vec.size() * 2): ...

4 ответа

Почему множественные приращения / убывания действительны в 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, он компилирует и ...

1 ответ

Арифметика указателей через границы подобъектов

Имеет ли следующий код (который выполняет арифметику указателей через границы подобъектов) хорошо определенное поведение для типовT для которого он компилируется (который в C ++ 11,не обязательно должен быть ...

1 ответ

Почему common_type <long, unsigned long> :: type = long long?

common_type<long, unsigned long>::type являетсяunsigned long потому что относительно операндов после интегрального продвижения стандарт говорит ... [...] если операнд с целочисленным типом без знака имеет ранг, больший или равный рангу типа ...