Запитання з тегом «c++»

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.

10
Чи дозволено видалити це?
Чи дозволено, delete this;якщо оператор delete є останнім оператором, який буде виконаний на цьому екземплярі класу? Звичайно, я впевнений, що об'єкт, представлений thisточкою вказівника, newстворений ly. Я думаю про щось подібне: void SomeModule::doStuff() { // in the controller, "this" object of SomeModule is the "current module" // now, if I …

5
Чи небезпечний рівень оптимізації -O3 у г ++?
Я чув з різних джерел (хоча в основному від мого колеги), що компіляція з рівнем оптимізації -O3в g ++ якось "небезпечна", і цього слід уникати взагалі, якщо не доведено, що це необхідно. Це правда, і якщо так, то чому? Чи варто мені просто дотримуватися -O2?

4
Чому я коли-небудь використовувати push_back замість emplace_back?
C ++ 11 векторів мають нову функцію emplace_back. На відміну від того push_back, що покладається на оптимізацію компілятора, щоб уникнути копій, emplace_backвикористовує ідеальну переадресацію для передачі аргументів безпосередньо конструктору для створення об’єкта на місці. Мені здається, що emplace_backвсе push_backможе зробити, але якийсь час це зробить краще (але ніколи не гірше). …
232 c++  c++11  std 

30
Чи витоки пам’яті коли-небудь в порядку? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 2 роки тому . Удосконаліть це питання Чи допустимо коли-небудь витік пам'яті у вашому додатку C або C …
231 c++  c  memory-leaks 

15
Як правильно використовувати простори імен у C ++?
Я походжу з фону Java, де використовуються пакети, а не простори імен. Я звик складати класи, які працюють разом, щоб сформувати повний об'єкт у пакети, а потім повторно використовувати їх із цього пакету. Але зараз я працюю в C ++. Як ви використовуєте простори імен у C ++? Чи створюєте …
231 c++  namespaces 

4
Чи може використання "авто" C ++ 11 покращити продуктивність?
Я можу зрозуміти, чому autoтип C ++ 11 покращує правильність та ремонтопридатність. Я читав, що це також може покращити продуктивність ( Майже завжди Автоматичний Герб Саттер), але я пропускаю хороше пояснення. Як можна autoпокращити продуктивність? Хтось може навести приклад?
230 c++  performance  c++11  auto 

10
Чи можна шаблонувати функції лямбда?
Чи є в C ++ 11 спосіб шаблонування лямбда-функції? Або вона за своєю суттю занадто специфічна, щоб бути шаблоною? Я розумію, що замість цього я можу визначити класичний шаблонний клас / функтор, але питання більше схоже на те: чи дозволяє мова формувати лямбда-функції?
230 c++  templates  lambda  c++11 

10
Як перетворити QString в std :: string?
Я намагаюся зробити щось подібне: QString string; // do things... std::cout << string << std::endl; але код не компілюється. Як вивести вміст qstring у консоль (наприклад, для налагодження чи інших причин)? Як конвертувати QStringв std::string?

30
Що робити з вихідним файлом на C ++ 11000 рядків?
Таким чином, у нас є цей величезний (на 11000 рядків величезний?) Mainmodule.cpp вихідний файл у нашому проекті, і кожного разу, коли мені доводиться його торкатися, я стискаюся. Оскільки цей файл настільки центральний і великий, він продовжує накопичувати все більше і більше коду, і я не можу придумати хорошого способу змусити …


4
Помилка: перейти до регістру
Я написав програму, яка передбачає використання операторів переключення ... Однак при компіляції це показує: Помилка: перейти до регістру. Чому це робиться? #include <iostream> #include <cstdlib> #include <fstream> #include <string> using namespace std; class contact { public: string name; int phonenumber; string address; contact() { name= "Noname"; phonenumber= 0; address= "Noaddress"; …
229 c++ 


4
Який тип покажчика я використовую, коли?
Гаразд, тож востаннє, коли я писав C ++ на життя, std::auto_ptrбув у всіх наявних std ліб, і він boost::shared_ptrбув весь гнів. Я ніколи насправді не роздивлявся, якщо передбачено збільшення інших типів розумних вказівників. Я розумію, що C ++ 11 надає деякі типи прискорених типів, але не всі. Так у когось …

9
Чому я віддаю перевагу використовувати список ініціалізації членів?
Я частково використовую списки ініціалізації членів зі своїми конструкторами ... але я давно забув причини цього ... Чи використовуєте списки ініціалізації членів у своїх конструкторах? Якщо так, то чому? Якщо ні, то чому б ні?


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.