Лучшие language-lawyer вопросы ИТ разработчиков

  • 28 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Стирание вектор :: конец из вектора

Работает ли правильно (ничего не делает), когда я использую vector<T> v; v.erase(v.end());Я хочу использовать что-то вроде v.erase(std::find(...));Нужно ли мнеif этоv.end() или нет? Там нет информации об этом наC ++. ...

Задан 06 Mar 2012, 19:01 от RiaD
  • 9 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Разыменование указателя, равного nullptr, неопределенному поведению по стандарту?

Автор блога поднял дискуссию о разыменовании нулевого указателя:http://www.viva64.com/en/b/0306/Я поставил несколько контраргументов здесь:http://bit.ly/1L98...

Задан 17 Feb 2015, 23:28 от pepper_chico
  • 6 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

как эта лямбда с пустым списком перехвата может ссылаться на имя области охвата?

В стандарте C ++ 14 § 5.1.2 / 12 он показывает пример лямбда-выражения, которое, по-видимому, может ссылаться на переменную достигающей области видимости.

Задан 21 Nov 2015, 23:11 от Jorge Israel Peña
  • 36 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

перешел в чат

я выполняю приведение типа Base к производному типу, но базовый тип не является экземпляром производного типа, а использует только результат, если он есть, получу ли я неопределенное поведение? Трудно понять, о чем я спрашиваю? взгляните на этот ...

Задан 23 Apr 2018, 12:33 от Mike Vine
  • 62 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Вернуть тип void в C и C ++

Это компилируется без каких-либо предупреждений.Это законно в C и C ++ или это просто работает в gcc и clang?Если это законно, это что-то новое после C99?

Задан 14 Mar 2016, 12:24 от Nick
  • 4 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Значение int i = i ^ i; Это всегда ноль или неопределенное поведение?

в следующей программе вывод всегда нулевой или неопределенное поведение? #include<iostream> int main() { int i= i ^ i ; std::cout << "i = " << i << std::endl; }с gcc 4.8.0 этот код успешно скомпилирован, и вывод равен 0.

Задан 05 Jul 2013, 09:44 от Khurshid
  • 3 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

неявная последовательность преобразования в перегрузке функций

Я не понимаю, как компилятор выбирает лучших кандидатов. Например, давайте иметь следующий код:

Задан 13 Sep 2014, 17:40 от greg phillip
  • 13 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Что касается другой части вопроса. Да, безусловно, стоит отправлять отчеты об ошибках. Соответствие стандарту (или, по крайней мере, дальнейшая диагностика) должно поощряться IMO.

но, после обновления библиотеки до Clang 5.x, я заметил ошибку в моем коде, который был скомпилирован ранее на Clang 4.x, GCC 5.x-6.x и MSVC 2015 и 2017. #include <iostream> #include <typeinfo> #include <vector> int main() { using a = typename ...

Задан 25 Sep 2017, 19:27 от Alexander Huszagh
  • 8 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Что значит для POSIX, что поток «приостановлен»?

В ходе комментариев кнедавний вопросвозник дополнительный вопрос о том, в какой момент запрос на отмену для потока pthreads с возможностью отмены

Задан 24 Sep 2015, 19:10 от John Bollinger
  • 15 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Преобразование 1-d массива в многомерный массив

Принимая во внимание весь стандарт C ++ 11, возможно ли для любой соответствующей реализации выполнить первое утверждение ниже, но не выполнить второе? #include <cassert> int main(int, char**) { const int I = 5, J = 4, K = 3; const int N = I * J ...

Задан 07 Mar 2013, 23:01 от Stephen Lin
  • 4 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

@ Олив: Нет, я не говорил, что это неопределенное поведение. Это адрес члена массива, а арифметические правила указателя позволяют добавлять любое смещение, попадающее в тот же массив. Что определяет ваш пример.

те рассмотрим этот код: int i; int is[10]{}; unsigned char * p = reinterpret_cast<unsigned char*>(&i); //p defined to point to the object-representation of the first element of array ints unsigned char * ps = reinterpret_cast<unsigned ...

Задан 13 Oct 2017, 21:49 от Oliv
  • 13 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Каково определение «арифметической операции» в C99?

В C99 терминарифметическая операция появляется 16 раз, но я не вижу определения для этого.Семестрарифметический оператор появляется только дважды в тексте (о...

Задан 10 Jul 2014, 00:43 от M.M
  • 7 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Требует ли dtor для shared_ptr использования «удалителя»?

Это [https://stackoverflow.com/q/3899790/420683] широко [https://stackoverflow.com/a/17650101/420683] известен [https://stackoverflow.com/a/6378121/420683]что вы можете использоватьshared_ptr хранить указатель на неполный тип, при условии, что ...

Задан 07 Nov 2013, 20:51 от dyp
  • 11 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Оператор по модулю изменения в C ++ 11? [Дубликат]

Возможный дубликат:C ++ оператор% гарантируетВ С ++ 98/035.6-4Двоичный / оператор дает частное, а двоичный оператор% - остаток от деления первого выражения н...

Задан 27 Oct 2012, 11:46 от Gob00st
  • 26 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Является ли numeric_limits <int> :: is_modulo логически противоречивым?

ВДругой вопрос [https://stackoverflow.com/questions/13150449/] темаstd::numeric_limits<int>::is_modulo подошел. Но чем больше я думаю об этом, тем больше кажется, что что-то не так со спецификацией, с GCC или с обоими. Позвольте мне начать с ...

Задан 07 Nov 2012, 15:36 от Nemo
  • 35 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Разрешено ли перечислению иметь незарегистрированное значение? [Дубликат]

На этот вопрос уже есть ответ здесь:Что произойдет, если вы укажете недопустимое значение static_cast в enum class? 1 ответСкажем, у нас есть

Задан 19 Nov 2015, 19:44 от dragonroot
  • 10 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Хорошо, я понял, спасибо.

вопрос следует за этимодин [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Давайте рассмотрим этот пример кода: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...

Задан 10 Jan 2018, 13:55 от Oliv
  • 8 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Это красная сельдь. Вопрос явно связан с глобальным пространством имен (только).

вопрос является дополнительным вопросомэтот [https://stackoverflow.com/q/50898508/5376789]. Рассмотрим следующую программу: #include <cmath> // meaningless, only for language-lawyer purpose void abs(void*) {} int main(){ abs(nullptr); }Эта ...

Задан 19 Jun 2018, 09:54 от xskxzr
  • 11 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Тэги указателя в C не определены в соответствии со стандартом?

Некоторые динамически типизированные языки используютмаркировка указателя [https://en.wikipedia.org/wiki/Tagged_pointer]как быстрый способ определить или сузить тип времени выполнения представляемого значения. Классический способ сделать это - ...

Задан 02 Sep 2013, 17:29 от Leushenko
  • 17 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Примеры в стандарте

мер, вместо void shared_ptr::reset() noexcept; template <typename Y> void shared_ptr::reset(Y* ptr);можно подумать template <typename Y = T> void shared_ptr::reset(Y* ptr = nullptr);Я думаю, что разница в производительности здесь незначительна, ...

Задан 18 Feb 2018, 08:47 от Lingxi
  • 34 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Размер std :: array определяется стандартом

В С ++ 11std::array определяется как непрерывное хранилище и производительность, которая не хуже массива, но я не могу решить, подразумевают ли различные требования стандарта, что std :: array имеет тот же размер и структуру памяти, что и обычный ...

Задан 30 Sep 2013, 20:29 от pavon
  • 6 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Почему это значение не повышается до значения l, как указано в ссылке?

Rust Reference говорит:Левый операнд выражения присваивания или составного присваивания является lvalue-контекстом, как и единственный операнд унарного заимс...

Задан 07 Jan 2017, 10:55 от Lukas Kalbertodt
  • 11 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

@geza, я чувствую, что есть место для большей неопределенности при разрешении типов функций, чем при разрешении типов переменных. Если вы чувствуете по-другому, не стесняйтесь отказаться от этого комментария и предположить, что ваша конструкция незаконна

от вопрос уже есть ответ здесь: Соответствует ли объявление, использующее «auto», внешнему объявлению, в котором используется конкретный спецификатор ...

Задан 12 Sep 2018, 22:41 от geza
  • 52 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

reinterpret_cast между char * и std :: uint8_t * - безопасно?

Теперь нам всем иногда приходится работать с двоичными данными. В C ++ мы работаем с последовательностями байтов, а с самого началаchar был наш строительный блок. Определено, чтобы иметьsizeof из 1, это байт. И все функции ввода / вывода ...

Задан 28 Apr 2013, 05:46 от Lyberta
  • 9 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

@Justin Я искал "это не исключение" :)

я есть код, который требует от меня использовать*this, но я хочу, чтобы это было не иначе как дружелюбно struct foo; // Would actually be something with conditional noexcept void do_something(foo&); struct foo { void ...

Задан 24 Oct 2018, 16:55 от Justin
  • 11 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Оператор по модулю изменения в C ++ 11? [Дубликат]

Возможный дубликат: C ++ оператор% гарантирует [https://stackoverflow.com/questions/12710801/c-operator-guarantees] В С ++ 98/03 5.6-4 Двоичный / оператор дает частное, а двоичный оператор% - остаток от деления первого выражения на второе. ...

Задан 27 Oct 2012, 13:46 от Gob00st
Page 1 of 13
1 2 3 4 5