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

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

20
* .h или * .hpp для ваших определений классов
Я всегда использовал *.hфайл для своих определений классов, но, прочитав некоторый код расширенной библиотеки, я понял, что все они используют *.hpp. У меня всегда было отвращение к этому расширению файла, я думаю, главным образом потому, что я к этому не привык. Каковы преимущества и недостатки использования *.hppболее *.h?
555 c++  header 


6
Правила аннулирования итераторов
Каковы правила аннулирования итераторов для контейнеров C ++? Желательно в формате сводного списка. (Примечание. Предполагается, что это будет вход в FAQ по C ++ в Stack Overflow . Если вы хотите критиковать идею предоставления FAQ в этой форме, то публикация в meta, с которой все это началось, будет подходящим местом …
543 c++  c++11  iterator  c++17  c++-faq 


13
Почему компиляция C ++ занимает так много времени?
Компиляция файла C ++ занимает очень много времени по сравнению с C # и Java. Компиляция файла C ++ занимает значительно больше времени, чем запуск скрипта Python нормального размера. В настоящее время я использую VC ++, но то же самое с любым компилятором. Почему это? Две причины, по которым я …



18
Имеет ли ключевое слово mutable какую-либо цель, кроме возможности изменения переменной с помощью функции const?
Некоторое время назад я наткнулся на некоторый код, который помечал переменную-член класса mutableключевым словом. Насколько я вижу, это просто позволяет вам изменить переменную в constметоде: class Foo { private: mutable bool done_; public: void doSomething() const { ...; done_ = true; } }; Это единственное использование этого ключевого слова или …
527 c++  keyword  mutable 


13
Хранение определений функций шаблона C ++ в файле .CPP
У меня есть некоторый шаблон кода, который я бы предпочел сохранить в файле CPP вместо встроенного в заголовке. Я знаю, что это можно сделать, если вы знаете, какие типы шаблонов будут использоваться. Например: .h файл class foo { public: template <typename T> void do(const T& t); }; файл .cpp template …
526 c++  templates 

30
Какой самый эффективный способ сравнения с плавающей запятой и двойного сравнения?
Какой самый эффективный способ сравнить два doubleили два floatзначения? Просто делать это не правильно bool CompareDoubles1 (double A, double B) { return A == B; } Но что-то вроде: bool CompareDoubles2 (double A, double B) { diff = A - B; return (diff < EPSILON) && (-diff < EPSILON); } …

16
Вызов C / C ++ из Python?
Какой самый быстрый способ создать привязку Python к библиотеке C или C ++? (Я использую Windows, если это имеет значение.)
521 c++  python  c 

17
Как инициализировать частные статические члены в C ++?
Каков наилучший способ инициализации частного статического члена данных в C ++? Я попробовал это в моем заголовочном файле, но он дает мне странные ошибки компоновщика: class foo { private: static int i; }; int foo::i = 0; Я предполагаю, что это потому, что я не могу инициализировать частного члена вне …

9
Отладка с параметрами командной строки в Visual Studio
Я занимаюсь разработкой приложения для командной строки C ++ в Visual Studio, и мне нужно отладить его с помощью аргументов командной строки. В данный момент я просто запускаю сгенерированный EXE-файл с нужными мне аргументами (например, вот так program.exe -file.txt), но таким образом я не могу отладить. Где-нибудь я могу указать …

8
Когда я должен действительно использовать noexcept?
noexceptКлючевое слово может быть соответствующим образом применено ко многим сигнатуры функций, но я не уверен , о том , когда следует рассмотреть возможность использования его на практике. Основываясь на том, что я прочитал, добавление в последнюю минуту, noexceptкажется, решает некоторые важные проблемы, возникающие при броске конструкторов перемещения. Тем не менее, …

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