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

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


16
Файли заголовків C ++ для перегляду (winsock2.h)
Як запобігти включенню файлів заголовків двічі? Проблема в тому, що я включаюв MyClass.h, а потім я включаю MyClass.h у багатьох файлах, тому він включає кілька разів і виникає помилка перегляду. Як запобігти? Я один раз використовую #pragma замість того, щоб включати охоронців, і, мабуть, це добре. MyClass.h: // MyClass.h #pragma …
143 c++  header  redefinition 

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

4
TensorFlow, чому саме питон був обраною мовою?
Нещодавно я почав вивчати глибоке навчання та інші методики ML, і я почав шукати рамки, які спрощують процес побудови мережі та навчають її, тоді я знайшов TensorFlow, маючи невеликий досвід у цій галузі, для мене, здається, швидкість - це великий фактор для того, щоб зробити велику систему ML ще більше, …

11
Перетворення int в std :: string
Який найкоротший шлях, бажано вбудований в рядок, перетворити int у рядок? Відповіді за допомогою stl та boost будуть вітатися.
143 c++  string  int 

14
Рекурсивні лямбда-функції в C ++ 11
Я новачок у С ++ 11. Я пишу наступну рекурсивну лямбда-функцію, але вона не компілюється. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; …
143 c++  c++11  lambda 

2
Значення прапорця -низу при компілюванні
У різних багатопотокових проектах C і C ++ я бачив -pthread прапор застосовується як до етапу компіляції, так і для зв'язування, а інші взагалі не використовують його і просто переходять -lpthreadна етап зв’язку. Чи є якась небезпека не скласти та зв’язати -pthreadпрапор - тобто що -pthreadнасправді робить? Мене насамперед цікавлять …
143 c++  c  linux  pthreads 

9
Чи є спосіб інстанціювати об'єкти з рядка, що містить ім'я їх класу?
У мене є файл: Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ та інший файл: BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { …

13
помилка LNK2019: невирішений зовнішній символ _WinMain @ 16, на який посилається функція ___tmainCRTStartup
Хоча я запускаю простий код, як показано нижче, у мене є дві помилки: #include <iostream> #include <string> using namespace::std; template <class Type> class Stack { public: Stack (int max):stack(new Type[max]), top(-1), maxsize(max){} ~Stack (void) {delete []stack;} void Push (Type &val); void Pop (void) {if (top>=0) --top;} Type& Top (void) {return …

4
std :: lock_guard або std :: scoped_lock?
C ++ 17 представив новий клас блокування під назвою std::scoped_lock. Судячи з документації, він схожий на вже існуючий std::lock_guardклас. У чому різниця і коли я повинен її використовувати?

6
_DEBUG проти NDEBUG
Яке визначення препроцесора слід використовувати для вказівки розділів налагодження коду? Використовуйте #ifdef _DEBUGабо #ifndef NDEBUGє кращий спосіб зробити це, наприклад #define MY_DEBUG? Я думаю _DEBUG, що Visual Studio є специфічним, стандарт NDEBUG?
142 c++  c  debugging 

6
Чому нерівність перевіряється як (! (A == b)) у великій кількості стандартного коду бібліотеки C ++?
Це код із стандартного removeкоду бібліотеки C ++ . Чому нерівність перевіряється як if (!(*first == val))замість if (*first != val)? template <class ForwardIterator, class T> ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val) { ForwardIterator result = first; while (first!=last) { if (!(*first == val)) { *result = …
142 c++ 

4
Чи розумне значення за промовчанням у програмі C ++ 11?
У традиційному C ++ передача за значенням функцій та методів для великих об'єктів повільна і, як правило, нахмурена. Натомість програмісти на C ++, як правило, передають посилання навколо, що швидше, але це вводить усілякі складні питання щодо власності та особливо щодо управління пам'яттю (у випадку, якщо об’єкт виділено купою) Тепер, …
142 c++  coding-style  c++11 

4
Визначте статичний метод у вихідному файлі з оголошенням у заголовковому файлі на C ++
У мене виникають невеликі проблеми при роботі зі статичними методами в C ++ Приклад .h: class IC_Utility { public: IC_Utility(); ~IC_Utility(); std::string CP_PStringToString( const unsigned char *outString ); void CP_StringToPString( std::string& inString, unsigned char *outString, short inMaxLength ); static void CP_StringToPString( std::string& inString, unsigned char *outString); void CP_StringToPString( FxString& inString, …

5
Підвищення Statechart проти Meta State Machine
Очевидно, бустер містить дві окремі бібліотеки для державних машин: Statechart і Meta State Machine (MSM). Теги надають дуже схожі описи: Boost.Statechart - Довільно складні машини з кінцевим станом можуть бути реалізовані в легко читабельному та підтримуваному коді C ++. Meta State Machine - дуже високоефективна бібліотека для виразних машин кінцевого …

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