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

524
Какой самый эффективный способ сравнения с плавающей запятой и двойного сравнения?

Какой самый эффективный способ сравнить два 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);...

521
Как инициализировать частные статические члены в C ++?

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

521
Вызов C / C ++ из Python?

Какой самый быстрый способ создать привязку Python к библиотеке C или C ++? (Я использую Windows, если это имеет

514
Отладка с параметрами командной строки в Visual Studio

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

509
Когда я должен действительно использовать noexcept?

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

508
Безымянное / анонимное пространство имен против статических функций

Особенностью C ++ является возможность создавать безымянные (анонимные) пространства имен, например: namespace { int cannotAccessOutsideThisFile() { ... } } // namespace Можно подумать, что такая функция будет бесполезной - поскольку вы не можете указать имя пространства имен, невозможно получить к...

508
Что означает int argc, char * argv []?

Во многих C ++ IDE и компиляторах, когда он генерирует основную функцию для вас, это выглядит так: int main(int argc, char *argv[]) Когда я кодирую C ++ без IDE, просто с помощью компилятора командной строки, я набираю: int main() без каких-либо параметров. Что это значит и важно ли это для моей...

504
Разница ключевых слов "typename" и "class" в шаблонах?

Для шаблонов я видел оба объявления: template < typename T > template < class T > Какая разница? И что именно означают эти ключевые слова в следующем примере (взятом из немецкой статьи в Википедии о шаблонах)? template < template < typename, typename > class Container, typename...

503
Что быстрее: выделение стека или выделение кучи

Этот вопрос может показаться довольно элементарным, но это спор, который у меня возник с другим разработчиком, с которым я работаю. Я позаботился о том, чтобы распределять вещи по возможности, а не распределять их по куче. Он говорил со мной и смотрел через мое плечо и заметил, что в этом нет...

500
Допускает ли стандарт C ++ неинициализированный bool для сбоя программы?

Я знаю, что «неопределенное поведение» в C ++ может позволить компилятору делать все, что он захочет. Однако у меня произошел сбой, который удивил меня, так как я предположил, что код достаточно безопасен. В этом случае настоящая проблема возникла только на конкретной платформе, использующей...

500
Для чего используется «stdafx.h» в Visual Studio?

Файл с именем stdafx.h генерируется автоматически, когда я запускаю проект в Visual Studio 2010. Мне нужно создать кроссплатформенную библиотеку C ++, поэтому я не могу / не могу использовать этот заголовочный файл. Для чего stdafx.hиспользуется? Это нормально, что я просто удалил этот заголовочный...

499
Шаблонная проверка на существование функции-члена класса?

Можно ли написать шаблон, который меняет поведение в зависимости от того, определена ли определенная функция-член в классе? Вот простой пример того, что я хотел бы написать: template<class T> std::string optionalToString(T* obj) { if (FUNCTION_EXISTS(T->toString)) return...

493
без знака int против size_t

Я заметил, что современный код на C и C ++, кажется, использует size_tвместо int/ unsigned intпочти везде - от параметров для строковых функций C до STL. Мне любопытно узнать причину этого и преимущества, которые оно...

485
Как я могу преобразовать std :: string в int?

Просто быстрый вопрос. Я немного осмотрел интернет и нашел несколько решений, но ни одно из них еще не сработало. Глядя на преобразование строки в int, я не имею в виду ASCII-коды. Для быстрого перехода мы передаем уравнение в виде строки. Мы должны разбить его, правильно отформатировать и решить...

484
Зачем нужны заголовочные файлы и файлы .cpp? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...