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

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

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

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

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

В С++ 03 выражение имеет значение rvalue или lvalue. В С++ 11 выражение может быть: Rvalue именующего xvalue glvalue prvalue Две категории стали пятью категориями. Что представляют собой эти новые категории выражений? Как эти новые...
задан 30 авг. '10 в 18:02
20
ответов

Самый простой способ конвертировать int в строку в С++

Каков самый простой способ преобразования из int в эквивалентную строку в С++. Я знаю два метода. Есть ли более простой способ? 1. int a = 10; char *intStr = itoa(a); string str = string(intStr); 2. int a = 10; stringstream ss; ss << a; st...
задан 08 апр. '11 в 7:19
8
ответов

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

Я искал самый быстрый способ для больших массивов данных popcount. Я столкнулся с очень странным эффектом: изменение переменной цикла от unsigned до uint64_t привело к снижению производительности на 50% на моем ПК. Контрольный показатель #include...
задан 01 авг. '14 в 13:33
13
ответов

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

Я всегда испортил, как правильно использовать const int*, const int * const и int const *. Существует ли набор правил, определяющих, что вы можете и чего не можете сделать? Я хочу знать все, что нужно делать, и все это не касается присвоений, перед...
задан 17 июля '09 в 16:28
5
ответов

Undefined поведение и точки последовательности

Что такое "точки последовательности"? Какова связь между поведением undefined и точками последовательности? Я часто использую смешные и запутанные выражения типа a[++i] = i;, чтобы заставить себя чувствовать себя лучше. Почему я должен прекратить...
задан 14 нояб. '10 в 8:37
5
ответов

Где и почему мне нужно поставить ключевые слова "шаблон" и "имя-тип"?

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

Соответствуют ли скобки после имени типа с новым?

Если "Тест" - обычный класс, есть ли разница между: Test* test = new Test; и Test* test = new Test();
задан 06 марта '09 в 22:39
19
ответов

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

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

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

У меня есть следующий код. int * foo() { int a = 5; return &a; } int main() { int* p = foo(); cout << *p; *p = 8; cout << *p; } И код работает только без исключений во время выполнения! Выходной сигнал был...
задан 22 июня '11 в 17:05
1
ответ

Каковы новые возможности в С++ 17?

С++ 17 теперь полностью завершена, поэтому вряд ли произойдут большие изменения. Сотни предложений были выдвинуты для С++ 17. Какая из этих функций была добавлена ​​в С++ в С++ 17? При использовании компилятора С++, который поддерживает "С++ 1z", к...
задан 27 июня '16 в 21:06
5
ответов

Каковы правила об использовании подчеркивания в идентификаторе С++?

В С++ часто называют имена переменных-членов с каким-то префиксом, чтобы обозначать тот факт, что они являются переменными-членами, а не локальными переменными или параметрами. Если вы пришли из фона MFC, вы, вероятно, используете m_foo. Иногда я ви...
задан 23 окт. '08 в 10:02
15
ответов

Можно ли вызвать конструктор из другого конструктора (сделать цепочку конструктора) в С++?

Как разработчик С# я использую для запуска конструкторов: class Test { public Test() { DoSomething(); } public Test(int count) : this() { DoSomethingWithCount(count); } public Test(int count, string name) : th...
задан 21 нояб. '08 в 12:43
16
ответов

Разница между частным, общественным и защищенным наследованием

В чем разница между public, private и protected наследованием в С++? Все вопросы, которые я нашел на SO, касаются конкретных случаев.
задан 13 мая '09 в 23:47
7
ответов

Что такое типы POD в С++?

Я встречал этот термин POD-типа несколько раз... что это значит?
задан 28 сент. '08 в 21:36