Arhn - архитектура программирования

Вопросы по теме 'c++11'

Проблема с разделением имени типа
Я создавал класс шаблона, который преобразует тип в строку, описывающую его, например, typeinfo<int(*)()>::name() возвращает строку "int(*)()" (до пробела). Первоначально у меня было множество особых случаев, чтобы обойти тот факт, что...
27.09.2023

Копирование конструкторов
У меня есть древовидный класс, в котором объявлены и определены конструкторы перемещения и операторы присваивания перемещения. Зачем компилятору чувствовать необходимость синтезировать конструктор копирования, а затем жаловаться, что...

Как получить имя или файл и строку вызывающего метода?
Есть ли способ в C++11 (используя последнюю версию GCC) получить имя или номер файла и строки метода, вызывающего текущий выполняемый метод (вызывающий)? Я хочу использовать эту информацию в сообщении об ошибке, когда, например, следующий код не...

std::array для ошибки нарушения доступа к указателю
Я пытаюсь заставить свою функцию Transpose принимать указатели вместо std::arrays . И причина, по которой я хочу это сделать, заключается в том, что тогда я могу передать указатель или std::array через функцию .data() . В настоящее время у...
20.11.2023

Как правильно использовать std::reference_wrappers
Я пытаюсь понять std::reference_wrapper . Следующий код показывает, что эталонная оболочка не ведет себя точно так же, как ссылка. #include <iostream> #include <vector> #include <functional> int main() {...

итератор - нет подходящей функции стирания в С++ 11
Я не могу объяснить это поведение: for (vector<File>::const_iterator it = this->files.begin(); it != this->files.end(); ++it) { if (...) erase(it); // break after, no need of ++it in else branch } где File — мой собственный...

Стандартное решение С++ 11. shared_ptr(const weak_ptr‹Y›& r)
Какого черта ? (настоящий вопрос выделен жирным шрифтом после цитаты) § 20.7.2.2.1 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r); 23 Требуется: Y* должно быть конвертировано в T* . 24 Эффекты: Создает...

Базовый таймер с std::thread и std::chrono
Я пытаюсь реализовать базовый таймер с помощью классических методов: start() и stop(). Я использую С++ 11 с std::thread и std::chrono. Метод запуска. Создает новый поток, который бездействует в течение заданного интервала времени, а затем...

Выигрыш от многопоточности намного меньше, чем ожидалось — почему?
У меня есть оценка функции, которая несколько медленная. Я пытаюсь ускорить его с помощью многопоточности, так как есть три вещи, которые можно делать параллельно. Однопоточная версия return dEdx_short(E) + dEdx_long(E) + dEdx_quantum(E);...

В чем разница между использованием std::random_device с pRNG, например. std::mt19937 и без?
В C++11 можно генерировать числа с использованием std::random_device с генератором псевдослучайных чисел, например mt19937, или без него. В чем будет разница, используя это в этом примерном коде: #include <random> #include...
04.12.2023

Ошибка сегментации при использовании shared_ptr
Я создаю систему частиц, и я борюсь с тем, как структурировать свой код. Идея состоит в том, что пользователь может создать один или несколько объектов ParticleEmitter , которые передаются объекту ParticleManager через объект ofxCurlNoise ....

Передача атомарной переменной в функцию
Я пытаюсь передать атомарную переменную функции следующим образом: // function factor receives an atomic variable void factor(std::atomic<int> ThreadsCounter) { ......... } // main starts here int main() { // Atomic variable...
28.11.2023

ссылки rvalue с новым размещением (функции аналогичны std::vector.push_back)
Я реализую класс контейнера (ObjectPool). Он поддерживает массив объектов шаблона в непрерывной памяти. При построении он выделяет блок памяти (эквивалентный (размеру объекта шаблона)*(размеру пула)). При добавлении новых объектов в пул он...

Ограничить тип параметра функтора и константу
Я пытаюсь реализовать класс защиты ресурсов, который бы объединял данные вместе с общим мьютексом (на самом деле, QReadWriteLock, но он похож). Класс должен предоставить метод для применения определяемой пользователем функции к данным при получении...
07.12.2023

Как найти все индексы вектора‹vector‹int›› для минимального первого индекса
У меня есть двумерный вектор данных, который не отсортирован и содержит повторяющиеся элементы. Как найти минимум и все индексы со значением? Например, учитывая данные vector<vector<int>> mySol = {{3,1},{1,2},{4,5},{1,3},{1,2}} , я...
17.12.2023

Значения constexpr C++ для типов
Я хочу иметь возможность создавать операторы переключения по идентификатору типа. Я нашел механизм, который может дать уникальный идентификатор для разных типов. Это очень просто: template <typename T> struct type { static void id() {...

Вставьте std::unique_ptr в boost:ptr_map
Я перемещаю старый код на С++ 14, он использовал устаревший auto_ptr и хорошо работал с boost:ptr_map, вы могли бы сделать: auto_ptr<Foo> foo(new Foo); boost:map_ptr<int, Foo> m; m.insert(5, foo); Теперь, заменив этот auto_ptr на...
23.10.2023

Невозможно стереть из вектора после перемещения некоторых элементов
Здравствуйте, я пытаюсь понять, как оптимизировать перемещение элементов из вектора в другой, проверяя, вызывает ли это копирование или перемещение конструктора по пути. Однако, когда я пытаюсь стереть элементы из std::vector v1 , которые я...
08.10.2023

ошибка: normcdf(): требуется компилятор С++ 11
normcdf() — это функция из RcppArmadillo, я могу успешно использовать ее из sourceCpp() в командной строке. Если я пытаюсь скомпилировать свой собственный пакет R, компиляция не возвращает никаких ошибок. Однако, если я использую эту функцию,...
11.11.2023

Как освобождается память в shared_ptr через оператор =?
Я новичок в С++, я изучал концепцию shared_ptr. Я также понял, что несколько объектов shared_ptr могут владеть одним и тем же объектом, и объект уничтожается, а его память освобождается, когда происходит одно из следующих событий: 1. последний...

Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..