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

116
Каталог вывода / сборки CMake

Я новичок в CMake, прочитал несколько руководств о том, как его использовать, и написал несколько сложных 50 строк сценария CMake, чтобы создать программу для трех разных компиляторов. На этом, наверное, заканчиваются все мои познания в CMake. Теперь моя проблема в том, что у меня есть исходный...

116
Программа компилируется по-разному в трех основных компиляторах C ++. Какой из них правильный?

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

115
Как перегрузить std :: swap ()

std::swap() используется многими стандартными контейнерами (такими как std::list и std::vector) во время сортировки и даже назначения. Но стандартная реализация swap() очень обобщена и довольно неэффективна для пользовательских типов. Таким образом, эффективность может быть повышена за счет...

115
C ++ - передача ссылок на std :: shared_ptr или boost :: shared_ptr

Если у меня есть функция, которая должна работать с a shared_ptr, не было бы более эффективным передать ей ссылку на нее (чтобы избежать копирования shared_ptrобъекта)? Каковы возможные побочные эффекты? Я предвижу два возможных случая: 1) внутри функции делается копия аргумента, как в...

115
Графический интерфейс с ручным кодированием по сравнению с графическим интерфейсом Qt Designer [закрыто]

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

115
В C ++, если throw является выражением, каков его тип?

Я заметил это в одном из своих кратких набегов на Reddit: http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/ В основном автор указывает, что в C ++: throw "error" это выражение. На самом деле это довольно четко прописано в стандарте C ++ как в основном тексте,...

115
Получить путь к исполняемому файлу

Я знаю, что этот вопрос задавался раньше, но я до сих пор не получил удовлетворительного ответа или однозначного «нет, это невозможно», поэтому я спрошу еще раз! Все, что я хочу сделать, это получить путь к исполняемому файлу, запущенному в данный момент, либо в виде абсолютного пути, либо...

115
Максимальный размер стека программы C / C ++

Я хочу сделать DFS на массиве 100 X 100. (Скажем, элементы массива представляют собой узлы графа). Таким образом, в худшем случае глубина рекурсивных вызовов функций может доходить до 10000, причем каждый вызов может занимать до 20 байт. Так возможно ли это, есть ли возможность переполнения стека?...

115
Как можно вызвать std :: forward для всех аргументов в вариативной функции?

Я просто писал универсальную объектную фабрику и использовал мета-библиотеку препроцессора boost для создания вариативного шаблона (с использованием 2010, а он их не поддерживает). Моя функция использует ссылки rval иstd::forward выполняет идеальную пересылку, и это заставило меня задуматься ......

115
Как определить платформу / компилятор из макросов препроцессора?

Я пишу кросс-платформенный код, который должен компилироваться в Linux, Windows, Mac OS. В Windows я должен поддерживать Visual Studio и Mingw. Есть некоторые фрагменты кода для конкретной платформы, которые я должен поместить в #ifdef .. #endifсреду. Например, здесь я разместил специальный код для...

115
Как построить std :: string из std :: vector <char>?

Если не считать (очевидного) сначала создания строки в стиле C, а затем ее использования для создания std :: string, есть ли более быстрый / альтернативный / «лучший» способ инициализировать строку из вектора...

115
Отключить одиночное предупреждение об ошибке

Есть ли способ отключить только одну строку предупреждения в файле cpp с помощью Visual Studio? Например, если я поймаю исключение и не обрабатываю его, я получаю ошибку 4101 (локальная переменная без ссылки). Есть ли способ игнорировать это только в этой функции, но в противном случае сообщить об...

115
В чем преимущество использования ссылок пересылки в циклах for на основе диапазона?

const auto&было бы достаточно, если я хочу выполнять операции только для чтения. Однако я наткнулся на for (auto&& e : v) // v is non-const пару раз за последнее время. Это заставляет меня задуматься: Возможно ли, что в некоторых непонятных угловых случаях есть некоторое преимущество в...

114
Скрытые возможности C ++? [закрыто]

В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

114
Умные указатели: кому принадлежит объект? [закрыто]

Трудно сказать, о чем здесь спрашивают. Этот вопрос неоднозначный, расплывчатый, неполный, чрезмерно широкий или риторический, и на него нельзя разумно ответить в его нынешней форме. Чтобы прояснить этот вопрос и снова открыть его, посетите Справочный центр . Закрыт 8 лет назад . С ++ - это все о...

114
Как вырваться из петли внутри переключателя?

Я пишу код, который выглядит так: while(true) { switch(msg->state) { case MSGTYPE: // ... break; // ... more stuff ... case DONE: break; // **HERE, I want to break out of the loop itself** } } Есть ли прямой способ сделать это? Я знаю, что могу использовать флаг и выйти из цикла, поставив...