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

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

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

9
Есть ли причина, по которой && и || перегружены? не закорачивайте?
Короткое замыкание поведение операторов &&и ||удивительный инструмент для программистов. Но почему они теряют это поведение при перегрузке? Я понимаю, что операторы - это просто синтаксический сахар для функций, но операторы для boolимеют такое поведение, почему оно должно быть ограничено этим единственным типом? Есть ли за этим какие-то технические доводы?

3
Как собрать Qt для Visual Studio 2010
Я изо всех сил пытался найти руководство, которое предоставляет стабильное решение для использования Qt с Visual Studio 2010, поэтому после сбора всей информации и некоторых проб и ошибок я хотел бы написать свое решение в виде руководства. Проблема, или почему невозможно использовать готовые двоичные файлы? Кажется, что использование двоичных файлов, …

2
Почему начальное выделение C ++ намного больше, чем C?
При использовании того же кода простая замена компилятора (с компилятора C на компилятор C ++) изменит объем выделяемой памяти. Я не совсем уверен, почему это так, и хотел бы понять это больше. Пока что лучший ответ, который я получил, - это «вероятно, потоки ввода-вывода», который не очень информативен и заставляет …
138 c++  c  benchmarking 

10
Как эмулировать поведение инициализации массива C «int arr [] = {e1, e2, e3,…}» с помощью std :: array?
(Примечание: этот вопрос касается того, что не нужно указывать количество элементов и по-прежнему разрешать непосредственную инициализацию вложенных типов.) В этом вопросе обсуждаются варианты использования, оставленные для массива C, например int arr[20];. В своем ответе @James Kanze показывает один из последних оплотов массивов C, его уникальные характеристики инициализации: int arr[] = …

6
Связывание статических библиотек с другими статическими библиотеками
У меня есть небольшой фрагмент кода, который зависит от многих статических библиотек (a_1-a_n). Я хотел бы упаковать этот код в статическую библиотеку и сделать его доступным другим людям. Моя статическая библиотека, назовем ее X, компилируется нормально. Я создал простой пример программы, которая использует функцию из X, но когда я пытаюсь …
138 c++  linker  ar  .a 


3
Как сортировать с лямбдой?
sort(mMyClassVector.begin(), mMyClassVector.end(), [](const MyClass & a, const MyClass & b) { return a.mProperty > b.mProperty; }); Я хотел бы использовать лямбда-функцию для сортировки пользовательских классов вместо привязки метода экземпляра. Однако приведенный выше код дает ошибку: ошибка C2564: 'const char *': преобразование стиля функции во встроенный тип может принимать только один …
138 c++  sorting  lambda  char  const 

11
Измерение времени выполнения функции в C ++
Я хочу узнать, сколько времени требуется в моей программе на C ++ для выполнения определенной функции в Linux . После этого я хочу провести сравнение скорости. Я видел несколько функций времени, но закончил с этим из-за повышения. Chrono: process_user_cpu_clock, captures user-CPU time spent by the current process Теперь мне не …

9
Зачем использовать #ifndef CLASS_H и #define CLASS_H в файле .h, а не в .cpp?
Я всегда видел, как люди пишут class.h #ifndef CLASS_H #define CLASS_H //blah blah blah #endif Вопрос в том, почему они не делают этого для файла .cpp, который содержит определения для функций класса? Допустим, у меня есть main.cppи main.cppвключает class.h. class.hФайл не includeчто - нибудь, так как же main.cppзнает , что …
137 c++ 

7
Каков размер long в 64-битной Windows?
Не так давно кто-то сказал мне, что longна 64-битных машинах нет 64 бит, и я всегда должен их использовать int. Это не имело смысла для меня. Я видел, как документы (например, на официальном сайте Apple) говорят, что longони действительно 64-битные при компиляции для 64-битного процессора. Я посмотрел, что это было …
137 c++  c  windows  64-bit  porting 

8
Не удается открыть файл включения «afxres.h» в VC2010 Express
Я пытаюсь скомпилировать старый проект с использованием VS Express 2010, но я получаю эту ошибку: фатальная ошибка RC1015: не удается открыть включаемый файл 'afxres.h'. из этого кода ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" Я уже установил Windows SDK, но безуспешно. Спасибо!



6
Как мне указать указатель на перегруженную функцию?
Я хочу передать перегруженную функцию в std::for_each()алгоритм. Например, class A { void f(char c); void f(int i); void scan(const std::string& s) { std::for_each(s.begin(), s.end(), f); } }; Я ожидаю, что компилятор разрешит f()тип итератора. По-видимому, он (GCC 4.1.2) этого не делает. Итак, как я могу указать, какой f()я хочу?
137 c++  stl 

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