c++- все статьи тега ➜ страница 20


Зачем нам нужен чистый виртуальный деструктор в C++?

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

Копирование / перемещение назначения в std:: vector:: erase() и std:: deque:: erase()

в ответе еще вопрос я наткнулся на несколько другие формулировки для std::vector::erase() и std::deque::erase(). вот что говорит C++14 о std::deque::erase ([deque.modifiers]/4-6, выделено мной): эффекты: ... сложность: количество вызовов деструктора совпадает с количеством стертых элементов, но Количество звонков в назначение оператор не больше, чем меньшее из числа элементов До стертых элементов и количество элементов после стертых элементов. Броски: ничего, если исключение ...

Альтернатива itoa () для преобразования целого числа в строку C++? [дубликат]

этот вопрос уже есть ответ здесь: самый простой способ конвертировать int в string в C++ 25 ответов мне было интересно, есть ли альтернатива itoa() для преобразования целого числа в строку, потому что когда я запускаю его в visual Studio, я получаю предупреждения, и когда я пытаюсь построить свою программу под Linux, я получаю ошибка компиляции. ...

Как инициализировать память оператор new в C++?

Я только начинаю в C++ и я хочу, чтобы забрать некоторые хорошие привычки. Если я только что выделил массив типа int с new оператор, как я могу инициализировать их все до 0, не перебирая их все сам? Я должен просто использовать memset? Есть ли" C++ " способ сделать это? ...

Как построить Qt для Visual Studio 2010

Я изо всех сил пытался найти способ, который обеспечивает стабильное решение для использования Qt с Visual Studio 2010, поэтому после сбора всех бит информации и некоторых проб и ошибок я хотел бы записать свое решение в руководство. проблема, или почему невозможно использовать готовые двоичные файлы? кажется, что использование двоичных файлов, построенных для Visual Studio 2008, может работать в некоторых особых случаях, но я обнаружил, что они не работают. В моем случае они скомпилированы но ...

В чем разница между std:: move и std:: forward

Я видел это здесь: Конструктор перемещения вызов базового класса конструктор перемещения может кто-нибудь объяснить: разницу между std::move и std::forward, желательно с примерами кода? как думать об этом легко, а когда следует использовать ...

Модульное тестирование кода на C++ - инструменты и методология [закрыто]

Я работаю над большой системой c++, которая находится в разработке уже несколько лет. В рамках усилий по улучшению качества существующего кода мы задействовали большой долгосрочный проект рефакторинга. вы знаете хороший инструмент, который может помочь мне написать юнит-тесты в C++? Может быть, что-то похожее на Junit или Nunit? кто может дать хороший совет по методологии написания модульных тестов для модулей, которые были написаны без модульного тестирования в не возражаете? ...

Отключить конструктор копирования

у меня есть класс : class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; как я должен изменить его, чтобы отключить код типа: SymbolIndexer symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( ); и только позволит следующий код : SymbolIndexer & ref_symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( ); ...

Проверка наличия папки (и создание папок) в Qt, C++

в Qt, как я могу проверить, существует ли данная папка в текущем каталоге? Если он не существует, как мне создать пустую папку? ...

Как найти утечку памяти в коде/проекте C++?

Я программист на C++ на платформе Windows. Я использую Visual Studio 2008. Я обычно заканчиваю в коде с утечками памяти. обычно я нахожу утечку памяти, проверяя код, но это громоздко и не всегда хороший подход. поскольку я не могу позволить себе платный инструмент обнаружения утечек памяти, я хотел бы, чтобы вы, ребята, предложили наилучшие способы избежать утечек памяти. Я хочу знать, как программист можно найти утечки памяти. есть ли какой-либо стандарт или процедура, которую следует с ...

Как добавить текст в текстовый файл в C++?

Как добавить текст в текстовый файл в C++? И создать новый, если он не существует, и добавить, если он существует. ...

Что такое " Поиск, зависящий от аргумента "(он же ADL или"поиск Кенига")?

Каковы некоторые хорошие объяснения того, какой аргумент зависит от поиска? Многие люди также называют его Koenig Lookup. желательно, я хотел бы знать: почему это хорошо? почему это плохо? как это работает? ...

Как delete [] знает, что это массив?

хорошо, я думаю, мы все согласны, что то, что происходит со следующим кодом, не определено, в зависимости от того, что передается, void deleteForMe(int* pointer) { delete[] pointer; } указатель может быть всякие разные вещи, и поэтому выполнение безусловного delete[] на нем не определено. Однако предположим, что мы действительно передаем указатель массива, int main() { int* arr = new int[5]; deleteForMe(arr); return 0; } мой вопрос, в этом случае, когда указатель и масс ...

В чем разница между istringstream, ostringstream и stringstream? / Почему бы не использовать stringstream в каждом случае?

когда я использую std::istringstream,std::ostringstream и std::stringstream а почему бы мне просто не использовать std::stringstream в любом случае (есть ли проблемы с производительностью во время выполнения?). наконец, есть ли что-нибудь плохое об этом (вместо того, чтобы использовать поток вообще): std::string stHehe("Hello "); stHehe += "stackoverflow.com"; stHehe += "!"; ...

Какие манипуляторы iomanip являются "липкими"?

недавно у меня возникла проблема с созданием stringstream из-за того, что я ошибочно предположил std::setw() будет влиять на stringstream для каждой вставки, пока я не изменил его явно. Однако он всегда отключается после вставки. // With timestruct with value of 'Oct 7 9:04 AM' std::stringstream ss; ss.fill('0'); ss.setf(ios::right, ios::adjustfield); ss << setw(2) << timestruct.tm_mday; ss << timestruct.tm_hour; ss << timestruct.tm_min; std::string filingTime = ss.str() ...

Эффективный C++ все еще эффективны?

из того, что я увидел в этом посте я решила начать чтение книги Эффективный C++. но теперь, когда есть много новых функций из-за C++11 и что некоторые из лучших практик изменились, я не уверен, действительно ли это хорошая идея. Является ли появление C++11 устаревшим каким-либо советом, содержащимся в эффективном C++? Если да, то каких тем следует избегать? ...

Что означает 'L' перед строкой в C++?

this->textBox1->Name = L"textBox1"; хотя это, кажется, работает без L, какова цель префикса? То, как он используется, даже не имеет смысла для хардкорного программиста C. ...

stringstream, string и char * путаница преобразования

мой вопрос можно свести к тому, откуда возвращается строка stringstream.str().c_str() жить в памяти, и почему она не может быть назначен const char*? этот пример кода объяснит это лучше, чем я могу #include <string> #include <sstream> #include <iostream> using namespace std; int main() { stringstream ss("this is a stringn"); string str(ss.str()); const char* cstr1 = str.c_str(); const char* cstr2 = ss.str().c_str(); cout << cstr1 // Prints c ...

Как исправить.файл pch отсутствует в сборке?

когда я строю свое решение на c++ в Visual Studio, он жалуется, что xxxxx.файл pch отсутствует. Есть ли параметр, который мне не хватает, чтобы вернуть предварительно скомпилированные заголовки? вот точная ошибка для полноты: Error 1 fatal error C1083: Cannot open precompiled header file: 'Debugxxxxx.pch': No such file or directory ...

Вы отлаживаете код C++ в Vim? Как?

вопрос ко всем вам, кто использует Vim для разработки приложений на C++. был период в моей жизни, который можно охарактеризовать как - Ненавижу Вима!!!'..'Vim-это приятно!- однако, выросший в основном на Идах разработки Microsoft, я привык к этим F5 -F11 ярлыки при отладке кода, окна просмотра, стека вызовов и основного кода - все это видно без необходимости вводить какие-либо команды GDB. вот вопрос: вы также используете Vim для отладки? Или вы переключаетесь на какую-то IDE для этой цели? ...