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

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

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




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

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

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

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

29
Как вы обнаруживаете / избегаете утечек памяти в вашем (неуправляемом) коде? [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь за помощью …
125 c++  c  memory-leaks 

15
Что лучше использовать #define, enum или const?
В проекте C ++, над которым я работаю, у меня есть значение типа флага, которое может иметь четыре значения. Эти четыре флага можно комбинировать. Флаги описывают записи в базе данных и могут быть: новый рекорд удаленная запись измененная запись существующая запись Теперь для каждой записи я хочу сохранить этот атрибут, …


2
Лямбда-захват и параметр с тем же именем - кто затеняет другого? (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 ++!» и предупредить о неиспользовании параметра foo …

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

6
Лямбда возвращается сама: это законно?
Рассмотрим эту довольно бесполезную программу: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } По сути, мы пытаемся сделать лямбду, которая возвращает сама себя. …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.