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

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

4
Доступ к элементу карты const в C ++
Я попытался использовать оператор [] для доступа к элементу на карте const C ++, но этот метод не удался. Я также пытался использовать "at ()", чтобы сделать то же самое. На этот раз это сработало. Однако я не смог найти никаких ссылок на использование "at ()" для доступа к элементу …
101 c++  stl  map  const 

2
std :: shared_ptr этого
Сейчас я пытаюсь научиться использовать умные указатели. Однако при проведении некоторых экспериментов я обнаружил следующую ситуацию, для которой не смог найти удовлетворительного решения: Представьте, что у вас есть объект класса A, являющийся родительским для объекта класса B (дочерний), но оба должны знать друг друга: class A; class B; class A …


4
Как узнать, откуда включен заголовочный файл?
Как узнать, где g ++ нашел включаемый файл? В основном, если я #include <foo.h> g ++ просканирует путь поиска, используя любые параметры включения для добавления или изменения пути. Но, в конце концов, есть ли способ определить абсолютный путь к foo.h, который g ++ выбрал для компиляции? Особенно актуально, если во …
101 c++  c  gcc  include  g++ 






8
«Else if» - одно ключевое слово?
Я новичок в C ++. Я часто вижу условное выражение, подобное приведенному ниже: if statement_0; else if statement_1; Вопрос: Синтаксически я должен рассматривать else ifкак одно ключевое слово? Или это действительно вложенный ifоператор внутри внешнего, elseкак показано ниже? if statement_0; else if statement_1;

19
Как быстрее всего вычислить sin и cos вместе?
Я хотел бы вычислить как синус, так и косинус значения вместе (например, для создания матрицы вращения). Конечно, я мог бы вычислить их отдельно, одно за другим a = cos(x); b = sin(x);, но мне интересно, есть ли более быстрый способ, когда нужны оба значения. Изменить: чтобы обобщить ответы на данный …
100 c#  c++  c  algorithm  math 

3
Разница между спецификатором throw () C ++ 03 C ++ 11 noexcept
Есть ли какая-то разница между throw()и, noexceptкроме проверки во время выполнения и во время компиляции, соответственно? В этой статье Wikipedia C ++ 11 предполагается, что спецификаторы throw C ++ 03 устарели. Почему так, noexceptдостаточно ли для того, чтобы охватить все это во время компиляции? [Примечание: я проверил этот вопрос и …
100 c++  exception  c++11  throw  noexcept 

11
Вычисления с плавающей запятой и целочисленные на современном оборудовании
Я выполняю некоторую критическую для производительности работу на C ++, и в настоящее время мы используем целочисленные вычисления для задач, которые по своей сути являются плавающими, потому что «они быстрее». Это вызывает множество неприятных проблем и добавляет много надоедливого кода. Теперь я помню, как читал о том, как вычисления с …

9
Безопасное переопределение виртуальных функций C ++
У меня есть базовый класс с виртуальной функцией, и я хочу переопределить эту функцию в производном классе. Есть ли способ заставить компилятор проверить, действительно ли функция, объявленная в производном классе, переопределяет функцию в базовом классе? Я хотел бы добавить какой-нибудь макрос или что-то, что гарантирует, что я случайно не объявил …

7
Что такое время жизни std :: string :: c_str ()?
В одной из моих программ мне приходится взаимодействовать с устаревшим кодом, который работает с const char*. Допустим, у меня есть структура, которая выглядит так: struct Foo { const char* server; const char* name; }; Мое приложение более высокого уровня имеет дело только с ними std::string, поэтому я подумал об использовании …
100 c++  string  cstring 

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