Результаты поиска по запросу "c++"

5 ответов

Для классов, которые имеют элемент данных auto ptr, у меня всегда есть метод clone, который возвращает новый auto ptr. Затем я реализую метод присваивания и конструктор копирования, который вызывает метод клона (и никогда не используется по умолчанию как оператор присваивания auto ptr). Таким образом, вы можете безопасно использовать класс в контейнерах STL.

сь об умных указателях (std::auto_ptr) и только что прочиталВот [http://www.gotw.ca/publications/using_auto_ptr_effectively.htm]а такжеВот [http://ootips.org/yonat/4dev/smart-pointers.html]что умные указатели (std::auto_ptr) не следует помещать в ...

8 ответов

, который просто позволяет неявное приведение к

мер: operator bool() const { return col != 0; }col является инт. Какoperator bool() const работай?

5 ответов

stackoverflow.com/questions/364483/...

тся ли следующий законный C ++ с четко определенным поведением? class my_class { ... }; int main() { char storage[sizeof(my_class)]; new ((void *)storage) my_class(); }Или это проблематично из-за соображений приведения / выравнивания указателя?

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

3 ответа

если будет неудачная вставка, пары не будут созданы, что повышает производительность

+ 17std::map [http://en.cppreference.com/w/cpp/container/map]а также std::unordered_map [http://en.cppreference.com/w/cpp/container/unordered_map] получил новый шаблон ...

8 ответов

Восстановление от нарушения доступа может быть возможным. Восстановление после прыжка EIP невозможно только в том случае, если вы хитры и не держите указатели инструкций на уровне сборки. Тем не менее, обнаружение нарушения прав доступа полезно для запуска другого процесса для графического интерфейса отчетов об ошибках.

р int *ptr; *ptr = 1000;я могу поймать исключение нарушения доступа к памяти, используя стандарт C ++ без использования каких-либо конкретных Microsoft.

1 ответ

В частности, вопреки некоторому другому некорректному комментарию, само правило «как будто» лишено каких-либо ограничений для одного потока. Делая гонки данных UB, стандарт позволяет оптимизаторам предполагать, что гонки данных не происходят, и оптимизировать соответствующим образом, что на практике позволяет оптимизаторам в значительной степени ограничивать свой анализ одним потоком. Но это нигде не позволяет реализациям внедрять гонки данных, когда их нет.

отрим этот код, гдеx а такжеy целые числа: if (x) y = 42;Разрешено ли следующее преобразование компилятора? int tmp = y; y = 42; if (!x) y = tmp;контекст: Это из часто задаваемых вопросов Бьярна Страуструпа: // start with x==0 and y==0 if (x) ...

1 ответ

 и по умолчанию [0, 1].

овить ViewMatrix с помощью glm легко: glm::lookAt(Position, Direction, UpVector);но если я попытаюсь использовать функцию с modelMatrix, я получу смешанные значения (модель не в правильном положении, а вращение выглядит неправильно). Я просто ...

2 ответа

Я полностью согласен с вами по поводу отсутствия примера на странице cppreference. Вот мой дубль:

елstd::result_of осуждается в C ++ 17. В чем причинаstd::result_of устарел в C ++ 17?Также я хотел бы знать разницу междуstd::result_of а такжеstd::invoke_result.

1 ответ

оба компилятора верны.

аружил, что gcc и clang позволяют использоватьdecltype(auto) в предложении типа параметра шаблона нетипичного типа. Например.: template <decltype(auto)> struct X {}; int foo ; int main() { X<(foo)> x; static_cast<void>(x); }[живое демо ...

1 ответ

большое спасибо

аюсь кодировать видео в Unreal Engine 4 с C ++. У меня есть доступ к отдельным кадрам. Ниже приведен код, который читаетviewport's отображаются пиксели и хранятся в буфере. //Safely get render target resource. FRenderTarget* RenderTarget ...