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

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

13
Сортировка вектора пользовательских объектов
Как можно сортировать вектор, содержащий пользовательские (то есть определяемые пользователем) объекты? Вероятно, следует использовать стандартный алгоритм STL для сортировки вместе с предикатом (функцией или объектом функции), который будет работать с одним из полей (в качестве ключа для сортировки) в пользовательском объекте. Я на правильном пути?
249 c++  stl  sorting 

13
Инициализация всех элементов массива в одно значение по умолчанию в C ++?
Примечания C ++: у Инициализации массива есть хороший список по инициализации массивов. у меня есть int array[100] = {-1}; ожидая, что он будет заполнен -1, но его нет, только первое значение равно нулю, а остальные 0 смешаны со случайными значениями. Код int array[100] = {0}; работает просто отлично и устанавливает …

8
Нужно ли std :: unique_ptr <T> знать полное определение T?
У меня есть код в заголовке, который выглядит следующим образом: #include &lt;memory&gt; class Thing; class MyClass { std::unique_ptr&lt; Thing &gt; my_thing; }; Если я включаю этот заголовок в cpp, который не включает Thingопределение типа, то он не компилируется под VS2010-SP1: 1&gt; C: \ Program Files (x86) \ Microsoft Visual Studio …

28
Являются ли глобальные переменные плохими? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос В C / C ++ глобальные переменные настолько плохи, насколько …
247 c++  c  global-variables 

17
Как извлечь все ключи (или значения) из std :: map и поместить их в вектор?
Это один из возможных способов выхода: struct RetrieveKey { template &lt;typename T&gt; typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map&lt;int, int&gt; m; vector&lt;int&gt; keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator&lt;int&gt;(cout, "\n")); Конечно, мы также можем извлечь все значения …
246 c++  dictionary  stl  stdmap 

28
Насколько быстрее C ++, чем C #?
Или сейчас все наоборот? Из того, что я слышал, есть некоторые области, в которых C # оказывается быстрее, чем C ++, но у меня никогда не хватало смелости проверить это самостоятельно. Думаю, что любой из вас мог бы подробно объяснить эти различия или указать мне правильное место для информации об …

12
to_string не является членом std, говорит g ++ (mingw)
Я делаю небольшую программу для запоминания словарного запаса, в которой слова будут мелькать на меня случайно для значений. Я хочу использовать стандартную библиотеку C ++, как говорит нам Бьярно Страуструп, но я столкнулся с на первый взгляд странной проблемой прямо за воротами. Я хочу изменить longцелое число, std::stringчтобы иметь возможность …
245 c++  c++11  g++  mingw  tostring 

5
Могу ли я установить точку останова на доступ к памяти в GDB?
Я запускаю приложение через GDB, и я хочу установить точку останова для любого доступа к определенной переменной / изменения. Есть хороший метод для этого? Я также был бы заинтересован в других способах мониторинга переменной в C / C ++, чтобы увидеть, если / когда она изменится.

12
Есть ли эквивалент Java или методология для ключевого слова typedef в C ++?
Исходя из опыта C и C ++, я обнаружил, что разумное использование typedefочень полезно. Знаете ли вы о способе достижения аналогичной функциональности в Java, будь то механизм Java, шаблон или какой-то другой эффективный способ, который вы использовали?
244 java  c++  c  design-patterns  typedef 

9
Есть ли разница между инициализацией копирования и прямой инициализацией?
Предположим, у меня есть эта функция: void my_test() { A a1 = A_factory_func(); A a2(A_factory_func()); double b1 = 0.5; double b2(0.5); A c1; A c2 = A(); A c3(A()); } Являются ли эти утверждения в каждой группе идентичными? Или есть дополнительная (возможно, оптимизируемая) копия в некоторых инициализациях? Я видел, как …

15
C ++ ловит все исключения
Есть ли с ++ эквивалент Java try { ... } catch (Throwable t) { ... } Я пытаюсь отладить код Java / jni, который вызывает собственные функции Windows, и виртуальная машина продолжает падать. Нативный код прекрасно работает в модульном тестировании и, похоже, вылетает при вызове через jni. Общий механизм перехвата …
244 c++  exception 

4
Когда я использую точку, стрелку или двойное двоеточие для ссылки на члены класса в C ++?
Исходя из других языков C происхождения (например , Java или C #) на C ++, то в первую очень запутанные , что C ++ имеет три способа обратиться к членам класса: a::b, a.b, и a-&gt;b. Когда я использую какой из этих операторов? (Примечание. Предполагается, что это будет вход в FAQ …
243 c++  c++-faq 

11
Каковы наиболее широко используемые библиотеки векторной / матричной математики / линейной алгебры в C ++, а также их соотношение цены и выгоды? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 2 года назад . Улучшить этот вопрос Похоже, что многие проекты постепенно сталкиваются с необходимостью выполнять математическую математику и попадают …

14
Указатель на элемент данных класса «:: *»
Я наткнулся на этот странный фрагмент кода, который прекрасно компилируется: class Car { public: int speed; }; int main() { int Car::*pSpeed = &amp;Car::speed; return 0; } Почему C ++ имеет этот указатель на нестатический член данных класса? Какая польза от этого странного указателя в реальном коде?
243 c++  class  pointers  c++-faq 

19
Как удалить дублирование кода между похожими константными и неконстантными функциями-членами?
Допустим, у меня есть следующее, class Xгде я хочу вернуть доступ к внутреннему члену: class Z { // details }; class X { std::vector&lt;Z&gt; vecZ; public: Z&amp; Z(size_t index) { // massive amounts of code for validating index Z&amp; ret = vecZ[index]; // even more code for determining that the …

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