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

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

3
'size_t' против 'container :: size_type'
Есть ли разница между size_tи container::size_type? То, что я понимаю, size_tявляется более общим и может использоваться для любых size_types. Но container::size_typeоптимизирован ли он для конкретных типов контейнеров?


17
неразрешенный внешний символ __imp__fprintf и __imp____iob_func, SDL2
Может ли кто-нибудь объяснить, что __imp__fprintf и __imp____iob_func неразрешенные внешние средства? Потому что я получаю эти ошибки, когда пытаюсь скомпилировать: 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: unresolved external symbol __imp__fprintf referenced in function _ShowError 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: unresolved external symbol __imp____iob_func referenced in function _ShowError 1>E:\Documents\Visual Studio 2015\Projects\SDL2_Test\Debug\SDL2_Test.exe : fatal error …

10
Как инициализировать частную статическую константную карту в C ++?
Мне нужен только словарь или ассоциативный массив string=> int. Для этого случая существует карта типов C ++. Но мне нужна только одна карта для всех экземпляров (-> static), и эту карту нельзя изменить (-> const); Я нашел этот способ с помощью библиотеки boost std::map<int, char> example = boost::assign::map_list_of(1, 'a') (2, …

5
Как правильно передавать параметры?
Я новичок в C ++, но не новичок в программировании. Я пытаюсь изучить C ++ (c ++ 11), и мне непонятно самое главное: передача параметров. Я рассмотрел эти простые примеры: Класс, в котором все члены примитивные типы: CreditCard(std::string number, int expMonth, int expYear,int pin):number(number), expMonth(expMonth), expYear(expYear), pin(pin) Класс, имеющий в …
108 c++  c++11 

13
Эффективная конкатенация строк в C ++
Я слышал, как несколько людей выражали беспокойство по поводу оператора "+" в std :: string и различных обходных путей для ускорения конкатенации. Действительно ли это необходимо? Если да, то как лучше всего объединить строки в C ++?

6
C / C ++ Struct против класса
После завершения моего класса C ++ мне показалось, что структуры / классы практически идентичны, за исключением нескольких незначительных отличий. Я никогда раньше не программировал на C; но я знаю, что у него есть структуры. В C можно ли наследовать другие структуры и установить модификатор public / private? Если вы можете …
108 c++  class  struct 

8
Правильный способ определения методов пространства имен C ++ в файле .cpp
Вероятно, дубликат, но его нелегко найти ... Учитывая заголовок вроде: namespace ns1 { class MyClass { void method(); }; } Я видел method()несколько способов определения в файле .cpp: Версия 1: namespace ns1 { void MyClass::method() { ... } } Версия 2: using namespace ns1; void MyClass::method() { ... } Версия …

5
Значение файла .inl в C ++
В чем преимущества объявления в файле .inl? Когда мне нужно будет использовать то же самое?
108 c++ 

5
Преимущества передачи по значению и std :: move по сравнению с передачей по ссылке
В данный момент я изучаю C ++ и стараюсь не приобретать вредных привычек. Насколько я понимаю, clang-tidy содержит множество "лучших практик", и я стараюсь придерживаться их как можно лучше (хотя я не всегда понимаю, почему они считаются хорошими), но я не уверен, что поймите, что здесь рекомендуется. Я использовал этот …
108 c++ 

8
Эффективный способ вернуть std :: vector в c ++
Сколько данных копируется при возврате std :: vector в функцию и насколько велика будет оптимизация, чтобы разместить std :: vector в свободном хранилище (в куче) и вместо этого вернуть указатель, то есть: std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into result */ return result; } более …

3
Почему быстрые целочисленные типы быстрее, чем другие целочисленные типы?
В ИСО / МЭК 9899: 2018 (С18) указано в 7.20.1.3: 7.20.1.3 Самые быстрые целочисленные типы минимальной ширины 1 Каждый из следующих типов обозначает целочисленный тип, который обычно является самым быстрым ( 268) для работы среди всех целочисленных типов, которые имеют по меньшей мере указанную ширину. 2 Имя typedef int_fastN_tобозначает самый …
107 c++  c  performance  types  int 

5
Почему код, изменяющий общую переменную между потоками, по-видимому, НЕ страдает от состояния гонки?
Я использую Cygwin GCC и запускаю этот код: #include <iostream> #include <thread> #include <vector> using namespace std; unsigned u = 0; void foo() { u++; } int main() { vector<thread> threads; for(int i = 0; i < 1000; i++) { threads.push_back (thread (foo)); } for (auto& t : threads) t.join(); …

10
Как запретить временные
Есть ли способ запретить создание класса Foo без указания имени? Например: Foo("hi"); И разрешить его, только если вы дадите ему имя, например, следующее? Foo my_foo("hi"); Время жизни первого - это просто инструкция, а второго - закрывающий блок. В моем случае Fooизмерения время между конструктором и деструктором. Поскольку я никогда не …
107 c++ 

10
C ++: какую библиотеку регулярных выражений я должен использовать? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 5 лет назад . Уточните этот вопрос Я работаю над коммерческим (не открытым исходным кодом) проектом C ++, который работает …
107 c++  regex  linux 

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