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

126
Использование scanf () в программах на C ++ быстрее, чем использование cin?

Не знаю, правда ли это, но когда я читал FAQ по одному из проблемных сайтов, я нашел кое-что, что привлекло мое внимание: Проверьте свои методы ввода / вывода. В C ++ использование cin и cout слишком медленное. Используйте их, и вы гарантированно не сможете решить любую проблему с приличным объемом...

126
Разница между типами string и char [] в C ++

Я немного знаю C, а теперь смотрю на C ++. Я привык к массивам символов для работы со строками C, но пока я смотрю код C ++, я вижу, что есть примеры, использующие как строковый тип, так и массивы char: #include <iostream> #include <string> using namespace std; int main () { string...

126
Объясните обход дерева порядка Морриса без использования стеков или рекурсии

Может ли кто-нибудь помочь мне понять следующий алгоритм обхода дерева порядка Морриса без использования стеков или рекурсии? Я пытался понять, как это работает, но это просто ускользало от меня. 1. Initialize current as root 2. While current is not NULL If current does not have left child a. Print...

126
Переместить оператор присваивания и `if (this! = & Rhs)`

В операторе присваивания класса вам обычно нужно проверить, является ли назначаемый объект вызывающим объектом, чтобы не облажаться: Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this; } Вам нужно то же самое для оператора присваивания...

126
Qt: Как мне обработать событие, когда пользователь нажимает кнопку «X» (закрыть)?

Я разрабатываю приложение с использованием Qt. Я не знаю, какой слот соответствует событию «пользователь нажимает кнопку« X »(закрыть) в рамке окна», то есть этой кнопке: Если для этого нет слота, может ли кто-нибудь предложить мне другой метод, с помощью которого я могу запустить функцию после...

126
Безопасно ли возвращать элемент из того же вектора?

vector<int> v; v.push_back(1); v.push_back(v[0]); Если второй push_back вызывает перераспределение, ссылка на первое целое число в векторе больше не будет действительной. Так это небезопасно? vector<int> v; v.push_back(1); v.reserve(v.size() + 1); v.push_back(v[0]); Это делает его...

126
Почему cout печатает «2 + 3 = 15» в этом фрагменте кода?

Почему вывод приведенной ниже программы такой? #include <iostream> using namespace std; int main(){ cout << "2+3 = " << cout << 2 + 3 << endl; } производит 2+3 = 15 вместо ожидаемого 2+3 = 5 Этот вопрос уже прошел несколько циклов закрытия / повторного открытия. Перед...

125
Как вы обнаруживаете / избегаете утечек памяти в вашем (неуправляемом) коде? [закрыто]

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

125
Что лучше использовать #define, enum или const?

В проекте C ++, над которым я работаю, у меня есть значение типа флага, которое может иметь четыре значения. Эти четыре флага можно комбинировать. Флаги описывают записи в базе данных и могут быть: новый рекорд удаленная запись измененная запись существующая запись Теперь для каждой записи я хочу...

125
Виртуальные функции и производительность - C ++

В своем дизайне классов я широко использую абстрактные классы и виртуальные функции. Было ощущение, что виртуальные функции влияют на производительность. Это правда? Но я думаю, что эта разница в производительности незаметна и, похоже, делаю преждевременную оптимизацию....

125
Частный виртуальный метод в C ++

В чем преимущество создания виртуального частного метода в C ++? Я заметил это в проекте C ++ с открытым исходным кодом: class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const...

125
делать {…} в то время как (ложь)

Я смотрел код человека и заметил, что у него, похоже, есть шаблон в своих функциях: <return-type> function(<params>) { <initialization> do { <main code for function> } while(false); <tidy-up & return> } Это неплохо , более своеобразно (реальный код довольно...

125
Как запустить определенные тестовые примеры в GoogleTest

Я пытаюсь написать функцию / метод для своего проекта, который спросит у пользователя, какие все тестовые примеры вы собираетесь запустить? Это похоже на ниже ..., Test_Cases_1 |_TestNo1 |_TestNo2....so on Test_Cases_2 |_TestNo1 |_TestNo2....so on .... ....so on Test_Cases_N |_TestNo1...

125
Лямбда-захват и параметр с тем же именем - кто затеняет другого? (clang против gcc)

auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 и новее распечатайте "Вы используете clang ++!" и предупредить о неиспользовании захвата foo . g ++ 4.9.0 и новее распечатайте «Вы используете g...