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

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

4
Объединение строк не работает должным образом [закрыто]
Трудно сказать, о чем здесь спрашивают. Этот вопрос двусмысленный, расплывчатый, неполный, чрезмерно широкий или риторический, и на него нельзя разумно ответить в его нынешней форме. Чтобы прояснить этот вопрос и снова открыть его, посетите Справочный центр . Закрыт 8 лет назад . Я знаю, что это обычная проблема, но, ища …

10
Эквивалент #region для C ++
Что такое C ++-эквивалент #region для C ++, чтобы я мог вставлять сворачиваемые биты пользовательского кода и облегчить чтение моего кода?
84 c#  c++ 

5
Как отловить ошибку сегментации в Linux?
Мне нужно отловить ошибку сегментации в операциях очистки сторонней библиотеки. Иногда это происходит непосредственно перед выходом из моей программы, и я не могу исправить настоящую причину этого. В программировании под Windows я мог сделать это с помощью __try - __catch. Есть ли кроссплатформенный или специфичный для платформы способ сделать то …

9
Почему в стандартной библиотеке C ++ нет transform_if?
Возник случай использования, когда нужно сделать условную копию (1. выполнимая с copy_if), но из контейнера значений в контейнер указателей на эти значения (2. выполнимая с transform). С доступными инструментами я не могу сделать это менее чем за два шага: #include <vector> #include <algorithm> using namespace std; struct ha { int …

5
Что находится внутри файла .lib статической библиотеки, статически связанной динамической библиотеки и динамически связанной динамической библиотеки?
Что находится внутри файла .lib статической библиотеки, статически связанной динамической библиотеки и динамически связанной динамической библиотеки? Почему нет необходимости в файле .lib в динамически подключаемой динамической библиотеке, а также в том, что при статической компоновке файл .lib представляет собой не что иное, как файл .obj со всеми методами. Это правильно?

3
Является ли подписанное целочисленное переполнение неопределенным поведением в C ++?
Как известно, целочисленное переполнение со знаком - это неопределенное поведение . Но в cstdintдокументации по C ++ 11 есть кое-что интересное : целочисленный тип со знаком шириной ровно 8, 16, 32 и 64 бита соответственно без битов заполнения и с использованием дополнения до 2 для отрицательных значений (предоставляется только в …

3
Qt «частные слоты»: что это?
Я понимаю, как им пользоваться, но меня беспокоит его синтаксис. Что делает "приватные слоты:"? Я никогда раньше не видел чего-то между ключевым словом private и: в определении класса. Здесь творится какая-то причудливая магия C ++? И пример здесь: #include <QObject> class Counter : public QObject { Q_OBJECT public: Counter() { …
84 c++  qt  signals-slots 

9
Как сделать константную переменную цикла for, за исключением оператора увеличения?
Рассмотрим стандартный цикл for: for (int i = 0; i < 10; ++i) { // do something with i } Я хочу предотвратить изменение переменной iв теле forцикла. Тем не менее, я не могу объявить , iкак constкак это делает приращение заявление недействительным. Есть ли способ , чтобы сделать iс …

4
Другое поведение оператора запятой в с ++ с возвратом?
Это (обратите внимание на оператор запятой ): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } выходы 2 . Однако, если вы используете returnоператор запятой, это: #include <iostream> int f() { return 2, 3; } int main() { int x; …

11
Вычитание / добавление насыщения для беззнаковых байтов
Представьте, что у меня есть два байта без знака bи x. Мне нужно рассчитать bsubкак b - xи baddкак b + x. Однако я не хочу, чтобы во время этих операций происходило переполнение / переполнение. Например (псевдокод): b = 3; x = 5; bsub = b - x; // bsub …

11
Можно ли * не * использовать free () для выделенной памяти?
Я изучаю компьютерную инженерию, и у меня есть курсы электроники. Я слышал от двух моих профессоров (из этих курсов) , что можно избежать с помощью free()функции (после того, как malloc(), calloc()и т.д.) , так как пространства памяти , выделенные , вероятно , не будет использоваться снова , чтобы выделить другую …

4
Странное перечисление в деструкторе
В настоящее время я читаю исходный код Protocol Bufferи обнаружил один странный enumкод, определенный здесь ~scoped_ptr() { enum { type_must_be_complete = sizeof(C) }; delete ptr_; } void reset(C* p = NULL) { if (p != ptr_) { enum { type_must_be_complete = sizeof(C) }; delete ptr_; ptr_ = p; } } …
83 c++  enums 

5
Откуда взялось слово «прагма»?
Итак, я знаю, что такое прагма и для чего она используется, но каково значение самого слова? Я много раз использовал его в коде, но я никогда не знал, что это слово на самом деле означает или означает.
83 c++  c  terminology  pragma 

1
как работают boost :: function и boost :: bind
Мне не нравится, когда магические коробки разбросаны по всему моему коду ... как именно работают эти два класса, чтобы позволить сопоставить практически любую функцию с объектом функции, даже если функция <> имеет совершенно другой параметр, установленный на тот, который я передаю boost::bind Он даже работает с различными соглашениями о вызовах …

9
Переход с C ++ на C
После нескольких лет кодирования на C ++ мне недавно предложили работу кодирования на C во встроенной области. Отложив в сторону вопрос о том, правильно или неправильно отклонять C ++ во встроенном поле, в C ++ есть некоторые особенности / идиомы, которые я бы очень упустил. Просто назвать несколько: Общие, типобезопасные …
83 c++  c 

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