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

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

5
Как я могу использовать массивы в C ++?
C ++ унаследовал массивы от C, где они используются практически везде. C ++ предоставляет абстракции, которые проще в использовании и менее подвержены ошибкам ( std::vector<T>начиная с C ++ 98 и std::array<T, n>начиная с C ++ 11 ), поэтому потребность в массивах возникает не так часто, как в C. Однако, когда …

19
В каких случаях я использую malloc и / или new?
Я вижу, что в C ++ существует несколько способов выделения и освобождения данных, и я понимаю, что при вызове mallocвы должны вызывать, freeа когда вы используете newоператор, вы должны deleteвыполнять сопряжение, и смешивать их два - ошибка (например, вызов free()чего-то, что было создано с newоператором), но я не знаю, когда …


21
Как использовать константу PI в C ++
Я хочу использовать константу PI и тригонометрические функции в некоторых программах на C ++. Я получаю тригонометрические функции с include <math.h>. Однако в этом заголовочном файле, похоже, нет определения для PI. Как я могу получить PI, не определяя его вручную?
476 c++  trigonometry 

17
Итерация по std :: vector: unsigned vs знаковая переменная со знаком
Как правильно перебирать вектор в C ++? Рассмотрим эти два фрагмента кода, этот работает нормально: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } и этот: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } который генерирует warning: comparison between signed and unsigned integer …
470 c++  stl  unsigned  signed 

30
Почему эта программа ошибочно отклонена тремя компиляторами C ++?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. У меня возникли трудности с компиляцией написанной мной программы на C ++. Эта программа очень проста и, насколько мне известно, соответствует всем …


10
Как мне выполнить команду и получить вывод команды в C ++ с помощью POSIX?
Я ищу способ получить вывод команды, когда она запускается из программы на C ++. Я смотрел на использование system()функции, но это будет просто выполнить команду. Вот пример того, что я ищу: std::string result = system("./some_command"); Мне нужно выполнить произвольную команду и получить ее вывод. Я посмотрел на boost.org , но …

12
Когда использовать reinterpret_cast?
Меня немного смущает применимость reinterpret_castпротив static_cast. Из того, что я прочитал, общие правила заключаются в использовании статического приведения, когда типы могут интерпретироваться во время компиляции, отсюда и слово static. Это приведение, которое компилятор C ++ использует внутренне для неявных приведений. reinterpret_castОни применимы в двух сценариях: конвертировать целочисленные типы в типы …
460 c++  casting 

6
Указатель функции typedef?
На этот вопрос есть ответы на Переполнение стека на русском : Как работает typedef в этом коде? Я учусь динамически загружать DLL, но я не понимаю, что это за строка typedef void (*FunctionFunc)(); У меня есть несколько вопросов. Если кто-то сможет ответить на них, я был бы благодарен. Почему typedefиспользуется? …
460 c++  c  pointers  typedef 





18
Самый быстрый способ проверить, существует ли файл, используя стандартные C ++ / C ++ 11 / C?
Я хотел бы найти самый быстрый способ проверить, существует ли файл в стандарте C ++ 11, C ++ или C. У меня есть тысячи файлов, и прежде чем что-то делать с ними, мне нужно проверить, все ли они существуют. Что я могу написать вместо /* SOMETHING */следующей функции? inline bool …
454 c++  c  file  stream 

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