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

292
Являются ли == и! = Взаимозависимыми?

Я учусь о перегрузках операторов в C ++, и я вижу , что ==и !=просто некоторые специальные функции , которые могут быть настроены для определенного пользователя типов. Однако меня беспокоит, почему нужны два отдельных определения? Я думал, что если a == bэто правда, то a != bавтоматически ложно, и...

292
Логический оператор XOR в C ++?

Что-то подобное существует? Это первый раз, когда я столкнулся с практической потребностью в этом, но я не вижу в списке Страуструпа . Я намерен написать: // Detect when exactly one of A,B is equal to five. return (A==5) ^^ (B==5); Но нет ^^оператора. Могу ли я использовать побитовое ^здесь и...

291
Синглтон: как его использовать

Изменить: Из другого вопроса я предоставил ответ, который содержит ссылки на множество вопросов / ответов о синглетонах: Подробнее о синглетонах здесь: Итак, я прочитал ветку Singletons: хороший дизайн или костыль? И аргумент все еще неистовствует. Я вижу Singletons как шаблон дизайна (хороший и...

290
Пространство имен + функции против статических методов в классе

Допустим, у меня есть или я собираюсь написать набор связанных функций. Допустим, они связаны с математикой. Организационно, я должен: Напишите эти функции и поместите их в мое MyMathпространство имен и обратитесь к ним черезMyMath::XYZ() Создайте класс с именем MyMathи сделайте эти методы...

289
Обнаружение лишних #include в C / C ++?

Я часто нахожу, что раздел заголовков файла постоянно увеличивается и увеличивается, но он никогда не уменьшается. В течение жизни исходного файла классы могли перемещаться и подвергаться рефакторингу, и вполне возможно, что есть немало тех, #includesкоторые не должны быть там и больше. Оставив их...

288
C / C ++ включает порядок заголовочных файлов

В каком порядке должны быть указаны включаемые файлы, т.е. каковы причины включения одного заголовка перед другим? Например, системные файлы STL и Boost идут до или после локальных включаемых...

288
Действительно ли умножение и деление с использованием операторов сдвига в C быстрее?

Умножение и деление может быть достигнуто с помощью битовых операторов, например i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) и так далее. Действительно ли быстрее использовать скажем (i<<3)+(i<<1)умножить на 10, чем i*10напрямую? Есть ли какие-либо...

286
Написать приложения на C или C ++ для Android? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

286
C ++ unordered_map с использованием пользовательского типа класса в качестве ключа

Я пытаюсь использовать пользовательский класс в качестве ключа для unordered_map, как показано ниже: #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; class node; class Solution; class Node { public: int a; int b; int c; Node(){}...

283
std :: vector против std :: array в C ++

В чем разница между a std::vectorи a std::arrayв C ++? Когда одно должно быть предпочтительнее другого? Каковы плюсы и минусы каждого? Все, что делает мой учебник, это перечисляет, как они...

281
Каково обоснование для строк с нулевым символом в конце?

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

279
Инициализация структуры C ++

Можно ли инициализировать структуры в C ++, как указано ниже struct address { int street_no; char *street_name; char *city; char *prov; char *postal_code; }; address temp_address = { .city = "Hamilton", .prov = "Ontario" }; Ссылки здесь и здесь упоминают, что этот стиль можно использовать только в...

277
Почему люди говорят, что при использовании генератора случайных чисел наблюдается смещение по модулю?

Я видел, как этот вопрос задавали много, но никогда не видел истинного конкретного ответа на него. Итак, я собираюсь опубликовать один здесь, который, надеюсь, поможет людям понять, почему именно происходит «смещение по модулю» при использовании генератора случайных чисел, как rand()в C...