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

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

13
delete_if еквівалент std :: map
Я намагався стерти з карти різноманітні елементи, залежно від конкретних умов. Як це зробити за допомогою алгоритмів STL? Спочатку я думав використовувати, remove_ifале це неможливо, оскільки Remove_if не працює для асоціативного контейнера. Чи існує якийсь еквівалентний алгоритм "remove_if", який працює для карти? Як простий варіант, я подумав прокрутити карту і …
118 c++  stl  map 

10
Pimpl idiom vs Pure віртуальний інтерфейс класу
Мені було цікаво, що змусить програміста вибрати або ідіому Pimpl, або чистий віртуальний клас та спадщину. Я розумію, що ідіома pimpl поставляється з однією явною додатковою непрямістю для кожного публічного методу та над створенням об'єкта. Чистий віртуальний клас, з іншого боку, поставляється з неявним непрямим впливом (vtable) для успадкованої реалізації, …

27
CMake не знаходить компілятор Visual C ++
Після встановлення Visual Studio 2015 та запуску CMake на попередньому проекті CMake помилки заявив, що він не може знайти компілятор C. The C compiler identification is unknown The CXX compiler identification is unknown CMake Error at CMakeLists.txt:4 (PROJECT): No CMAKE_C_COMPILER could be found. CMake Error at CMakeLists.txt:4 (PROJECT): No CMAKE_CXX_COMPILER …


3
Налаштування Vim для C ++
Я хотів би зробити vim моїм редактором C ++. У мене дуже мало досвіду роботи з ним і мені потрібна допомога в налаштуванні vim для роботи з C ++. Мені потрібні такі функції, як код-повний (для stl та для моїх занять) перемикання між .cc та .h файлами може бути ще …
118 c++  vim  configuration 

4
#include в .h або .c / .cpp?
При кодуванні в C або C ++, де я маю їх #include? callback.h: #ifndef _CALLBACK_H_ #define _CALLBACK_H_ #include <sndfile.h> #include "main.h" void on_button_apply_clicked(GtkButton* button, struct user_data_s* data); void on_button_cancel_clicked(GtkButton* button, struct user_data_s* data); #endif callback.c: #include <stdlib.h> #include <math.h> #include "config.h" #include "callback.h" #include "play.h" void on_button_apply_clicked(GtkButton* button, struct user_data_s* …
118 c++  c 

10
Коли викликається деструктор C ++?
Основне запитання: коли програма викликає метод деструктора класу в C ++? Мені сказали, що він називається всякий раз, коли об'єкт виходить за межі сфери дії або піддається йомуdelete Більш конкретні питання: 1) Якщо об’єкт створений за допомогою вказівника, а цей вказівник пізніше видаляється або йому надається нова адреса, на яку …
118 c++  destructor 

2
ініціалізувати вектор до нулів C ++ / C ++ 11
Я знаю, що в C ++ 11 вони додали функцію ініціалізації змінної до нуля як такої double number = {}; // number = 0 int data{}; // data = 0 Чи існує подібний спосіб ініціалізації std::vectorфіксованої довжини до всіх нульових?
118 c++  c++11 

7
Не вдається знайти або відкрити файл PDB у Visual Studio C ++ 2010
Я використовую Visual Studio 2010 C ++ і мій проект будується без помилок, але коли я його запускаю, я отримую це. Я на Windows XP. 'Shaders.exe': Loaded 'C:\Documents and Settings\User\My Documents\Visual Studio 2010\Projects\Shaders\Win32\Debug\Shaders.exe', Symbols loaded. 'Shaders.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file 'Shaders.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find …


7
Законність COW std :: виконання рядків в C ++ 11
Я розумів, що копіювання за записом не є життєздатним способом реалізації відповідного std::string в C ++ 11, але, коли нещодавно він з'явився в дискусії, я виявив, що не в змозі безпосередньо підтримати це твердження. Чи я правда, що C ++ 11 не допускає реалізацію на основі COW std::string ? Якщо …


3
Чому компілятори C ++ не оптимізують це умовне булеве призначення як безумовне завдання?
Розглянемо наступну функцію: void func(bool& flag) { if(!flag) flag=true; } Мені здається, що якщо прапор має дійсне булеве значення, це було б рівнозначно беззастережному встановленню його true, як-от так: void func(bool& flag) { flag=true; } Але ні gcc, ні clang не оптимізують його таким чином - обидва генерують наступне на …
117 c++  optimization 

1
Чи робить async (запуск :: async) в C ++ 11 пули потоків застарілими, щоб уникнути створення дорогих ниток?
Це питання пов'язане з цим питанням: Чи об'єднано std :: thread в C ++ 11? . Хоча питання відрізняється, намір однаковий: Запитання 1: Чи все-таки має сенс використовувати власний (або сторонні бібліотеки) пули потоків, щоб уникнути створення дорогих ниток? В іншому питанні було зроблено висновок про те, що ви не …

11
Чому публічний метод const не називається, коли non-const - приватний?
Розглянемо цей код: struct A { void foo() const { std::cout << "const" << std::endl; } private: void foo() { std::cout << "non - const" << std::endl; } }; int main() { A a; a.foo(); } Помилка компілятора: помилка: 'void A :: foo ()' є приватним '. Але коли я …

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