Результаты поиска по запросу "language-lawyer"
читать до записи не определено с недопустимой памятью?
Согласно сэта ветка комментариев Reddit [http://www.reddit.com/r/programming/comments/pfe6y/using_uninitialized_memory_for_fun_and_profit/] , он не определен, если сделана попытка прочитать память до того, как она была записана. Я имею в виду ...
Получение ссылки по ссылке в лямбде C ++ 11
Учти это: #include <functional> #include <iostream> std::function<void()> make_function(int& x) { return [&]{ std::cout << x << std::endl; }; } int main() { int i = 3; auto f = make_function(i); i = 5; f(); }Эта программа гарантированно выведет5 ...
Доступ к первому полю структуры через приведение C нарушает строгий псевдоним?
Этот код нарушает строгий псевдоним? struct {int x;} a; *(int*)&a = 3Говоря более абстрактно, допустимо ли приведение между различными типами, если примитивные операции чтения / записи являются правильными?
По какой причине присоединяемый std :: thread не присоединяется автоматически?
Иногда было бы полезно, если бы присоединяемыйstd::thread был в состоянии выполнитьthread::join() на его деструкторе. Смотрите примеры ниже. Пример 1 (ошибка):Объектstd::thread был уничтожен после броска исключения. Как только поток выходит из ...
Observable behavior and undefined behavior — What happens if I don't call a destructor?
Примечание: Я видел похожие вопросы, но ни один из ответов не является достаточно точным, поэтому я задаю это сам. Это очень придирчивый "вопрос языка юриста" Я ищу авторитетный ответ.Стандарт C ++ гласит: Программа может закончить время жизни ...
Разрешено ли реализациям добавлять открытых членов к стандартным типам?
Разрешено ли реализациям стандартной библиотеки C ++ добавлять открытые (и защищенные) члены к интерфейсам стандартных типов? N3797 17.6.5.5 [member.functions] / 2 говорит: Реализация может объявлять дополнительные не виртуальные ...
Является ли & errno законным C?
За 7,5, [errno] расширяется до модифицируемой lvalue175), которая имеет тип int, значение которого устанавливается положительным числом ошибки несколькими библиотечными функциями. Не определено, является ли errno макросом или идентификатором, ...
Почему полная специализация шаблонной функции не берется из файла .cpp без объявления?
Следующий код не генерирует компиляцию / ошибку компоновщика / предупреждение: // A.h #include<iostream> struct A { template<typename T> static void foo (T t) { std::cout << "A::foo(T)\n"; } }; void other (); // main.cpp #include"A.h" int main ...
Требуется ли сохранить емкость при перемещении std :: vector?
Рассмотрим следующий код: std::vector vec; vec.reserve(500); size_t cap = vec.capacity(); std::vector newVec = std::move(vec); assert(cap == newVec.capacity());Практически в любой реализации, с которой вы столкнетесь, это будет работать. Меня не ...
Какой тип битового поля?
Я не могу найти нигде в стандарте C, где это указано. Например, в struct { signed int x:1; } foo;являетсяfoo.x lvalue типаint, или что-то другое? Это кажется неестественным для того, чтобы быть lvalue типаint так как вы не можете хранить любое ...