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

254
Как преобразовать массив символов в строку?

Конвертировать C ++ stringв массив char довольно просто, используя c_strфункцию string и затем делая это strcpy. Однако как сделать наоборот? У меня есть массив символов , как: char arr[ ] = "This is a test";быть преобразован обратно в: string str = "This is a...

252
Что означает {0} при инициализации объекта?

Когда {0}это используется для инициализации объекта, что это значит? Я нигде не могу найти никаких ссылок {0}, и из-за фигурных скобок поиск в Google не помогает. Пример кода: SHELLEXECUTEINFO sexi = {0}; // what does this do? sexi.cbSize = sizeof(SHELLEXECUTEINFO); sexi.hwnd = NULL; sexi.fMask =...

252
Порядок оценки списка инициализации конструктора

У меня есть конструктор, который принимает некоторые аргументы. Я предполагал, что они были построены в указанном порядке, но в одном случае кажется, что они были построены в обратном порядке, что привело к прерыванию. Когда я изменил аргументы, программа перестала прерываться. Это пример...

252
Как заставить мой пользовательский тип работать с «петлями на основе диапазона»?

Как и многие люди в наши дни, я пробовал разные функции, которые дает C ++ 11. Один из моих любимых - «петли на основе диапазона». Я это понимаю: for(Type& v : a) { ... } Эквивалентно: for(auto iv = begin(a); iv != end(a); ++iv) { Type& v = *iv; ... } И это begin()просто возвращается...

251
Как я могу дополнить int начальными нулями при использовании оператора cout <<? [Дубликат]

На этот вопрос уже есть ответы здесь : Вывести лидирующие нули с помощью оператора вывода C ++? (5 ответов) Закрыто 4 дня назад . Я хочу coutвывести int с ведущими нулями, поэтому значение 1будет напечатано как, 001а значение - 25как 025. Как я могу это...

249
Какие методы можно использовать для ускорения времени компиляции C ++?

Какие методы можно использовать для ускорения времени компиляции C ++? Этот вопрос возник в некоторых комментариях к стилю программирования C ++ в вопросе переполнения стека , и мне интересно узнать, какие есть идеи. Я видел связанный вопрос, почему компиляция C ++ занимает так много времени? , но...

249
Сортировка вектора пользовательских объектов

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

249
Как передать объекты в функции в C ++?

Я новичок в программировании на C ++, но у меня есть опыт работы с Java. Мне нужно руководство о том, как передавать объекты в функции в C ++. Нужно ли передавать указатели, ссылки или не указатели и не ссылки? Я помню, в Java нет таких проблем, поскольку мы передаем только переменную, которая...

248
Инициализация всех элементов массива в одно значение по умолчанию в C ++?

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

248
Нужно ли std :: unique_ptr <T> знать полное определение T?

У меня есть код в заголовке, который выглядит следующим образом: #include <memory> class Thing; class MyClass { std::unique_ptr< Thing > my_thing; }; Если я включаю этот заголовок в cpp, который не включает Thingопределение типа, то он не компилируется под VS2010-SP1: 1> C: \ Program...

247
Являются ли глобальные переменные плохими? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос В C / C ++ глобальные переменные настолько плохи,...

246
Насколько быстрее C ++, чем C #?

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

245
to_string не является членом std, говорит g ++ (mingw)

Я делаю небольшую программу для запоминания словарного запаса, в которой слова будут мелькать на меня случайно для значений. Я хочу использовать стандартную библиотеку C ++, как говорит нам Бьярно Страуструп, но я столкнулся с на первый взгляд странной проблемой прямо за воротами. Я хочу изменить...

244
Могу ли я установить точку останова на доступ к памяти в GDB?

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

244
C ++ ловит все исключения

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

244
Есть ли разница между инициализацией копирования и прямой инициализацией?

Предположим, у меня есть эта функция: 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()); } Являются ли эти утверждения в каждой группе идентичными? Или есть дополнительная (возможно, оптимизируемая) копия в некоторых...