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

1603
Почему я должен использовать указатель, а не сам объект?

Я пришел из Java-фона и начал работать с объектами в C ++. Но одна вещь, которая пришла мне в голову, это то, что люди часто используют указатели на объекты, а не на сами объекты, например, это объявление: Object *myObject = new Object; скорее, чем: Object myObject; Или вместо использования...

1594
Циклы в программном обеспечении генеалогического дерева

Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я разработчик программного обеспечения для семейного древа (написано на C ++ и Qt). У меня не было проблем, пока один из...

1574
<Быстрее чем <=?

Является ли if( a < 901 )быстрееif( a <= 900 ) . Не совсем так, как в этом простом примере, но есть небольшие изменения производительности сложного кода цикла. Я полагаю, это связано с созданным машинным кодом на случай, если это...

1493
Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить?

На этот вопрос есть ответы на переполнение стека на русском : Ссылка на неразрешенный внешний символ (возможные причины) Что такое неопределенные ссылки / неразрешенные внешние ошибки символов? Каковы общие причины и как их исправить / предотвратить? Не стесняйтесь редактировать / добавлять свои...

1488
Когда использовать виртуальные деструкторы?

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

1488
Что такое лямбда-выражение в C ++ 11?

Что такое лямбда-выражение в C ++ 11? Когда я буду использовать один? Какой класс проблемы они решают, что было невозможно до их введения? Несколько примеров и вариантов использования будут полезны....

1456
Составление приложения для использования в высокорадиоактивных средах

Мы компилируем встроенное приложение C / C ++, которое развертывается в экранированном устройстве в среде, засыпанной ионизирующим излучением . Мы используем GCC и кросс-компиляцию для ARM. При развертывании наше приложение генерирует некоторые ошибочные данные и вылетает чаще, чем хотелось бы....

1424
Замена 32-разрядного счетчика циклов на 64-разрядный вводит сумасшедшие отклонения производительности с _mm_popcnt_u64 на процессорах Intel

Я искал самый быстрый способ для popcountбольших массивов данных. Я обнаружил очень странное действие: Изменение переменного цикла из unsignedк uint64_tвысказанному падению производительности на 50% по сравнению с ПК. Бенчмарк #include <iostream> #include <chrono> #include...

1357
В чем разница между const int *, const int * const и int const *?

Я всегда беспорядок , как использовать const int*, const int * constи int const *правильно. Существует ли набор правил, определяющих, что вы можете и не можете делать? Я хочу знать все, что можно и чего нельзя делать с точки зрения назначений, передачи функций и т....

1357
Что такое rvalues, lvalues, xvalues, glvalues ​​и prvalues?

В C ++ 03 выражение является либо значением r, либо значением l . В C ++ 11 выражение может быть: Rvalue именующий xvalue glvalue prvalue Две категории стали пятью категориями. Каковы эти новые категории выражений? Как эти новые категории связаны с существующими категориями rvalue и lvalue?...

1312
Зачем нам нужны виртуальные функции в C ++?

Я изучаю C ++, и я только вхожу в виртуальные функции. Из того, что я прочитал (в книге и онлайн), виртуальные функции - это функции в базовом классе, которые вы можете переопределить в производных классах. Но ранее в книге, изучая базовое наследование, я смог переопределить базовые функции в...

1127
Где и почему я должен поставить ключевые слова «template» и «typename»?

В шаблонах, где и почему я должен поставить typenameи templateна зависимых именах? Что именно являются зависимыми именами в любом случае? У меня есть следующий код: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ......

1031
Можно ли получить доступ к памяти локальной переменной вне ее области?

У меня есть следующий код. #include <iostream> int * foo() { int a = 5; return &a; } int main() { int* p = foo(); std::cout << *p; *p = 8; std::cout << *p; } И код просто выполняется без исключений времени выполнения! Выход был 58 Как это может быть? Разве память локальной...

1007
Каковы новые функции в C ++ 17?

Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. C ++ 17 теперь полностью готов, поэтому вряд ли он претерпит большие изменения. Сотни предложений были выдвинуты для C...

988
Неопределенные точки поведения и последовательности

Что такое «точки последовательности»? Какова связь между неопределенным поведением и точками последовательности? Я часто использую смешные и запутанные выражения, например a[++i] = i;, чтобы чувствовать себя лучше. Почему я должен прекратить использовать их? Если вы прочитали это, обязательно...