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

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

6
прервать, прекратить или выйти?
В чем разница между этими тремя и как мне завершить программу в случае исключения, которое я не могу обработать должным образом?
112 c++ 

19
#ifdef vs #if - что лучше / безопаснее как метод включения / отключения компиляции определенных участков кода?
Это может быть вопросом стиля, но в нашей команде разработчиков есть некоторые разногласия, и мне было интересно, есть ли у кого-нибудь еще какие-нибудь идеи по этому поводу ... По сути, у нас есть некоторые отладочные операторы печати, которые мы отключаем во время нормальной разработки. Лично я предпочитаю делать следующее: //---- …

4
Можно ли преобразовать класс перечисления в базовый тип?
Есть ли способ преобразовать enum classполе в базовый тип? Я думал, что это будет автоматически, но, видимо, нет. enum class my_fields : unsigned { field = 1 }; unsigned a = my_fields::field; Это задание отклоняется GCC. error: cannot convert 'my_fields' to 'unsigned int' in assignment.
112 c++  c++11 



10
Как избежать цепочки if / else if при классификации заголовка по 8 направлениям?
У меня такой код: if (this->_car.getAbsoluteAngle() <= 30 || this->_car.getAbsoluteAngle() >= 330) this->_car.edir = Car::EDirection::RIGHT; else if (this->_car.getAbsoluteAngle() > 30 && this->_car.getAbsoluteAngle() <= 60) this->_car.edir = Car::EDirection::UP_RIGHT; else if (this->_car.getAbsoluteAngle() > 60 && this->_car.getAbsoluteAngle() <= 120) this->_car.edir = Car::EDirection::UP; else if (this->_car.getAbsoluteAngle() > 120 && this->_car.getAbsoluteAngle() <= 150) this->_car.edir = …
111 c++  if-statement 

9
Как преобразовать std :: string в LPCSTR?
Как я могу преобразовать std::stringв LPCSTR? Кроме того, как я могу преобразовать std::stringв LPWSTR? Я совершенно запутался в этих LPCSTR LPSTR LPWSTRи LPCWSTR. Есть LPWSTRи LPCWSTRто же?
111 c++  windows  string 

13
Как с помощью C ++ избежать циклов for с условием «if» внутри них?
Почти со всем кодом, который я пишу, я часто сталкиваюсь с проблемами сокращения наборов в коллекциях, которые в конечном итоге заканчиваются наивными условиями «если» внутри них. Вот простой пример: for(int i=0; i<myCollection.size(); i++) { if (myCollection[i] == SOMETHING) { DoStuff(); } } С функциональными языками я могу решить проблему, уменьшив …
111 c++  c++11  c++14 

9
Вызов метода Objective-C из функции-члена C ++?
У меня есть class ( EAGLView), который C++без проблем вызывает функцию-член класса. Теперь проблема в том, что мне нужно вызвать этот C++класс a, objective-C function [context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];что я не могу сделать в C++синтаксисе. Я мог бы перенести этот Objective-Cвызов в тот же Objective-Cкласс, который вначале называл класс C ++, …
111 c++  objective-c 

16
C ++: Каков размер объекта пустого класса?
Мне было интересно, каков может быть размер объекта пустого класса . Конечно, это не может быть 0 байтов, так как на него должна быть возможность ссылаться и указывать на него, как на любой другой объект. Но насколько велик такой объект? Я использовал эту небольшую программу: #include <iostream> using namespace std; …
111 c++  class  object 

7
Обеспечение порядка операторов в C ++
Предположим, у меня есть ряд операторов, которые я хочу выполнить в фиксированном порядке. Я хочу использовать g ++ с уровнем оптимизации 2, чтобы некоторые операторы можно было переупорядочить. Какие инструменты нужны, чтобы обеспечить определенный порядок высказываний? Рассмотрим следующий пример. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 …

3
Массивы против векторов: общие черты и различия [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …
111 c++  arrays  vector 

7
Гарантированно ли смежность элементов std :: vector?
Мой вопрос прост: гарантированно ли элементы std :: vector смежны? В порядке слов, могу ли я использовать указатель на первый элемент std :: vector как C-массив? Если мне не изменяет память, стандарт C ++ не давал такой гарантии. Однако требования std :: vector были таковы, что их было практически невозможно …
111 c++  vector  standards 

11
Как удалить неиспользуемые символы C / C ++ с помощью GCC и ld?
Мне нужно сильно оптимизировать размер исполняемого файла ( ARMразработка), и я заметил, что в моей текущей схеме сборки ( gcc+ ld) неиспользуемые символы не удаляются. Использование arm-strip --strip-unneededдля результирующих исполняемых файлов / библиотек не меняет выходной размер исполняемого файла (я понятия не имею, почему, возможно, он просто не может) . …
111 c++  c  gcc  ld  strip 

5
Что именно означают «IB» и «UB»?
Я видел, как термины «IB» и «UB» использовались несколько раз, особенно в контексте C ++. Я пробовал поискать их в Google, но очевидно, что эти двухбуквенные комбинации находят много применения. :П Итак, я спрашиваю вас ... что они имеют в виду, когда говорят, что они плохие?

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