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

377
Что такое оптимизация копирования и возврата значений?

Что такое копирование? Что такое (названная) оптимизация возвращаемого значения? Что они подразумевают? В каких ситуациях они могут возникнуть? Какие ограничения? Если вы получили ссылку на этот вопрос, вы, вероятно, ищете введение . Технический обзор см. В стандартной справке . Смотрите общие...

373
Сравнение строк без учета регистра в C ++ [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Закрыто 2 года назад . Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. Каков наилучший...

373
Каково время жизни статической переменной в функции C ++?

Если переменная объявлена ​​как staticв области действия функции, она инициализируется только один раз и сохраняет свое значение между вызовами функции. Что именно это время жизни? Когда вызывается его конструктор и деструктор? void foo() { static string plonk = "When will I die?";...

373
Почему C ++ STL не предоставляет никаких «древовидных» контейнеров?

Почему C ++ STL не предоставляет никаких «древовидных» контейнеров, и что лучше использовать вместо этого? Я хочу хранить иерархию объектов в виде дерева, а не использовать дерево для повышения производительности...

371
Есть ли преимущество использования map перед unordered_map в случае тривиальных ключей?

Недавний разговор о unordered_mapC ++ заставил меня понять, что я должен использовать unordered_mapв большинстве случаев, где я использовал mapраньше, из-за эффективности поиска ( амортизированный O (1) против O (log n) ). В большинстве случаев я использую карту, я использую intили std::stringкак...

369
C ++ шаблон typedef

У меня есть класс template<size_t N, size_t M> class Matrix { // .... }; Я хочу сделать a, typedefкоторый создает Vector(вектор столбца), который эквивалентен a Matrixс размерами N и 1. Что-то вроде этого: typedef Matrix<N,1> Vector<N>; Что приводит к ошибке компиляции. Следующее...

368
Компиляция C ++ 11 с g ++

Я пытаюсь обновить мой компилятор C ++ до C ++ 11. Я немного искал и пришел к выводу, что мне нужно использовать флаг -std=c++0xили -std=gnu++0x, но я мало что знаю о флагах. Может кто-нибудь мне помочь? (Я использую Ubuntu 12.04.) Вот ошибка, которую я получаю от компилятора, когда я пытаюсь...

367
Возвращение unique_ptr из функций

unique_ptr<T>не позволяет создавать копии, вместо этого он поддерживает семантику перемещения. Тем не менее, я могу вернуть функцию unique_ptr<T>из функции и присвоить возвращаемое значение переменной. #include <iostream> #include <memory> using namespace std;...

364
Разобрать (разбить) строку в C ++, используя разделитель строк (стандарт C ++)

Я анализирую строку в C ++, используя следующее: using namespace std; string parsed,input="text to be parsed"; stringstream input_stringstream(input); if (getline(input_stringstream,parsed,' ')) { // do some processing. } Разбор с одним символом-разделителем - это хорошо. Но что, если я хочу...

363
Различия между строкой C ++ == и сравнением ()?

Я просто прочитал несколько рекомендаций по использованию std::string s = get_string(); std::string t = another_string(); if( !s.compare(t) ) { вместо if( s == t ) { Я почти всегда использую последний, потому что привык к нему, и он кажется естественным, более читабельным. Я даже не знал, что была...

361
Как преобразовать int в QString?

На этот вопрос есть ответы на Переполнение стека на русском : Как преобразовать int в QString? Есть ли QStringфункция, которая принимает int и выводит его как

357
Зачем использовать указатели? [закрыто]

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

357
Неопределенная ссылка на vtable

При сборке моей программы на C ++ я получаю сообщение об ошибке неопределенная ссылка на 'vtable ... В чем причина этой проблемы? Как мне это исправить? Так получилось, что я получаю сообщение об ошибке для следующего кода (рассматриваемый класс - CGameModule.), И я не могу на всю жизнь понять, в...

354
Когда вы должны использовать «друг» в C ++?

Я читал часто задаваемые вопросы по C ++ и мне было интересно узнать об этом friendобъявлении. Лично я никогда не использовал это, однако я заинтересован в изучении языка. Что является хорошим примером использования friend? Немного дольше читая FAQ, мне нравится идея << >>перегрузки и...

353
Устранить ошибки сборки из-за циклической зависимости между классами

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