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

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.

9
Как отключить предупреждения о неиспользуемых переменных, исходящие из gcc, в стороннем коде, который я не хочу редактировать?
Я хотел бы знать, какой переключатель вы передаете компилятору gcc, чтобы отключить предупреждения о неиспользуемых переменных? У меня возникают ошибки из-за повышения в окнах, и я не хочу касаться кода повышения: C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used …

8
Что быстрее: if (bool) или if (int)?
Какое значение лучше использовать? Логическое истина или целое число 1? Выше тема заставила меня сделать некоторые эксперименты с boolи intв ifсостоянии. Я просто из любопытства написал эту программу: int f(int i) { if ( i ) return 99; //if(int) else return -99; } int g(bool b) { if ( b …
94 c++  assembly  int  boolean 

15
Преобразование bool в текст в C ++
Может быть, это глупый вопрос, но есть ли способ преобразовать логическое значение в строку так, чтобы 1 превратилось в «истину», а 0 превратилось в «ложь»? Я мог бы просто использовать оператор if, но было бы неплохо узнать, есть ли способ сделать это с помощью языка или стандартных библиотек. Плюс я …
94 c++  string  boolean 

5
Является ли использование assert () в C ++ плохой практикой?
Я обычно добавляю множество утверждений в свой код на C ++, чтобы упростить отладку, не влияя на производительность сборок выпуска. Теперь assertэто чистый C макро разработан без механизмов C ++ в виду. C ++, с другой стороны, определяет std::logic_error, что должно быть выброшено в случаях, когда есть ошибка в логике …

3
В чем разница между span и array_view в библиотеке gsl?
В нескольких недавних презентациях на конференции я слышал, как Бьярн Страуструп и другие упоминали о новых правилах кодирования для C ++ и некоторых поддерживающих их типах. В частности, я помню пример span<T>вместо вместо (T* p, int n)параметра функции (примерно в 32:00 до начала разговора); но я также помню предложение использовать …

2
Магическое число в бусте :: hash_combine
Функция boost::hash_combineшаблона принимает ссылку на хэш (вызываемый seed) и объект v. Согласно документам , он сочетается seedс хешем vby seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); Я вижу, что это детерминировано. Я понимаю, почему используется XOR. Бьюсь об заклад, это добавление помогает отображать похожие …

6
Вычисление длины строки C во время компиляции. Это действительно constexpr?
Я пытаюсь вычислить длину строкового литерала во время компиляции. Для этого я использую следующий код: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } Все работает как положено, программа выводит 4 и …

17
Какой самый простой способ проверить, является ли число в C ++ степенью двойки?
Мне нужна такая функция: // return true iff 'n' is a power of 2, e.g. // is_power_of_2(16) => true is_power_of_2(3) => false bool is_power_of_2(int n); Кто-нибудь может подсказать, как я мог это написать? Можете ли вы назвать мне хороший веб-сайт, где можно найти такой алгоритм?

17
Равномерно генерировать случайные числа по всему диапазону
Мне нужно сгенерировать случайные числа в пределах указанного интервала [макс; мин]. Кроме того, случайные числа должны быть равномерно распределены по интервалу, а не находиться в определенной точке. В настоящее время я генерирую как: for(int i=0; i<6; i++) { DWORD random = rand()%(max-min+1) + min; } Согласно моим тестам, случайные числа …
94 c++  random 

12
Получите IP-адрес машины
Этот вопрос почти такой же, как и ранее заданный: Получить IP-адрес локального компьютера - Вопрос. Однако мне нужно найти IP-адрес (а) Linux-машины . Итак: Как мне - программно на C ++ - определить IP-адреса Linux-сервера, на котором работает мое приложение. У серверов будет как минимум два IP-адреса, и мне нужен …

2
как добавить объект list <T> к другому
в C ++ у меня есть два list&lt;T&gt;объекта, Aи Bя хочу добавить все члены Bв конец A. Я искал несколько разных источников и не нашел простого решения (ei A.append(B);), и это меня немного удивляет. Как лучше всего это сделать? Так получилось, что после этого меня не волнует B (он удаляется …
94 c++  list  stl 

4
оператор << должен принимать ровно один аргумент
ах #include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logic.cpp #include "a.h" ... ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a) { ... } ... Когда я компилирую, он говорит: std :: ostream &amp; logic :: operator &lt;&lt; (std :: ostream &amp;, A &amp;) 'должен принимать ровно один аргумент. …



8
Почему макросы препроцессора - зло и каковы альтернативы?
Я всегда спрашивал об этом, но никогда не получал действительно хорошего ответа; Я думаю, что почти любой программист, даже до написания первого «Hello World», сталкивался с такими фразами, как «макрос никогда не должен использоваться», «макросы - это зло» и так далее. У меня вопрос: почему? Есть ли реальная альтернатива новому …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.