Вопросы с тегом «c++»

86
Понимание std :: atomic :: compare_exchange_weak () в C ++ 11

bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()является одним из примитивов сравнения-обмена, представленных в C ++ 11. Он слабый в том смысле, что возвращает false, даже если значение объекта равно expected. Это происходит из-за ложного сбоя на некоторых...

86
Вводит ли ключевое слово volatile в C ++ забор памяти?

Я это понимаю volatile информирует компилятор о том, что значение может быть изменено, но должен ли компилятор для выполнения этой функции вводить забор памяти, чтобы заставить его работать? Насколько я понимаю, последовательность операций с изменчивыми объектами не может быть переупорядочена и...

86
Как мне работать с мьютексами в подвижных типах в C ++?

По дизайну std::mutexне подлежит перемещению или копированию. Это означает, что класс, Aсодержащий мьютекс, не получит конструктор перемещения по умолчанию. Как сделать этот тип Aперемещаемым потокобезопасным способом?...

86
Armadillo resolve () потокобезопасен?

В моем коде есть цикл, в котором я строю определенную линейную систему и пытаюсь ее решить: #pragma omp parallel for for (int i = 0; i < n[0]+1; i++) { for (int j = 0; j < n[1]+1; j++) { for (int k = 0; k < n[2]+1; k++) { arma::mat A(max_points, 2); arma::mat y(max_points, 1); //...

86
Почему ссылки не являются «константными» в C ++?

Мы знаем, что «константная переменная» указывает, что после назначения вы не можете изменить переменную, например: int const i = 1; i = 2; Приведенная выше программа не скомпилируется; gcc выводит сообщение об ошибке: assignment of read-only variable 'i' Нет проблем, я могу это понять, но...

86
В какой момент цикла целочисленное переполнение становится неопределенным?

Это пример для иллюстрации моего вопроса, который включает в себя гораздо более сложный код, который я не могу здесь опубликовать. #include <stdio.h> int main() { int a = 0; for (int i = 0; i < 3; i++) { printf("Hello\n"); a = a + 1000000000; } } Эта программа содержит неопределенное...

86
Почему константная функция-член может изменять статический член-данные?

В следующей C++программе изменение статического члена данных из constфункции работает нормально: class A { public: static int a; // static data member void set() const { a = 10; } }; Но изменение нестатического члена данных из constфункции не работает: class A { public: int a; // non-static data...

86
Почему GCC предупреждает меня о провале, даже когда я использую [[провал]]?

В следующем фрагменте кода я использую стандартный [[fallthrough]]атрибут из C ++ 1z для документирования того, что требуется падение: #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } С GCC 7.1 код...

85
Кодирование / декодирование URL-адресов в C ++ [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 2 года назад . Уточните этот вопрос Кто-нибудь знает какой-нибудь хороший код на C...

85
статические переменные во встроенной функции

У меня есть функция, которая объявлена ​​и определена в файле заголовка. Это проблема сама по себе. Когда эта функция не встроена, каждая единица перевода, использующая этот заголовок, получает копию функции, а когда они связаны вместе, они дублируются. Я «исправил» это, сделав функцию встроенной,...

85
Какой самый эффективный потокобезопасный регистратор C ++? [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 6 лет назад . Уточните этот вопрос Я работаю над многопоточным приложением,...

85
Выборочно отключить предупреждения GCC только для части единицы перевода?

Какой GCC наиболее близок к этому коду препроцессора MSVC? #pragma warning( push ) // Save the current warning state. #pragma warning( disable : 4723 ) // C4723: potential divide by 0 // Code which would generate warning 4723. #pragma warning( pop ) // Restore warnings to previous state. У нас...

85
Есть ли причина использовать ключевое слово auto в C ++ 03?

Обратите внимание, что этот вопрос был первоначально опубликован в 2009 году, до ратификации C ++ 11 и до того, как значение autoключевого слова было радикально изменено. Предоставленные ответы относятся только к значению C ++ 03 auto, которое является указанным классом хранения, а не к значению C...

85
Использование Maven для проектов C / C ++

Я помещаю сборку Maven вокруг кластера любительского, плохо написанного и откровенно примитивного кода C / C ++ (то есть немного C, немного C ++). Проблема в том, что их сейчас в обращении много, и их нелегко заменить. Для его создания требуется много племенных знаний (вам нужно переходить от куба...

85
изменчивый и изменчивый в C ++

У меня вопрос о разнице между изменчивым и изменчивым. Я заметил, что оба значения означают, что это можно изменить. Что еще? Это одно и то же? Какая разница? Где они применимы? Почему предлагаются две идеи? Как их использовать по-другому? Большое спасибо....

85
Почему ADL не находит шаблоны функций?

Какая часть спецификации C ++ ограничивает поиск, зависящий от аргументов, от поиска шаблонов функций в наборе связанных пространств имен? Другими словами, почему последний вызов mainниже не компилируется? namespace ns { struct foo {}; template<int i> void frob(foo const&) {} void...

85
Получение имени каталога из имени файла

У меня есть имя файла (C: \ folder \ foo.txt), и мне нужно получить имя папки (C: \ folder) в неуправляемом C ++. В C # я бы сделал что-то вроде этого: string folder = new FileInfo("C:\folder\foo.txt").DirectoryName; Есть ли функция, которую можно использовать в неуправляемом C ++ для извлечения...