c++ ×114
Создан 03.01.2025
5
голоса
5
ответов
53
просмотров
Неопределенная ссылка на виртуальную таблицу (vtable)

Когда я пытаюсь собрать свою программу на C++, я получаю сообщение об ошибке:

undefined reference to 'vtable...

В чем причина этой проблемы? Как мне это исправить?

К сожалению, я сталкиваюсь с этой ошибкой в следующем коде (класс, о котором идет речь — CGameModule), и никак не могу...

6
голоса
5
ответов
13
просмотров
Как очистить переменную stringstream?

Я уже пробовал несколько вариантов,

std::stringstream m; m.empty(); m.clear();

но ни один из них не сработал.

5
голоса
5
ответов
10
просмотров
Преимущества использования map над unordered_map при тривиальных ключах?

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

5
голоса
1
ответов
14
просмотров
Разница между использованием Makefile и CMake для компиляции кода?

Вопрос о различиях между Makefile и CMake для компиляции кода

Я пишу код на C/C++ и использую (GNU) Makefile для компиляции. У меня есть возможность использовать CMake для генерации Makefile. Однако меня интересует, в чем разница между использованием Makefile и CMake при компиляции кода?

5
голоса
4
ответов
12
просмотров
Отладка против Релиза в CMake

Проблема компиляции проекта на GCC с использованием CMake

В своем проекте, скомпилированном с помощью GCC, я столкнулся с несколькими вопросами, связанными с использованием CMake:

  1. Как запустить CMake для каждого типа сборки (debug/release)?
  2. Как задать флаги компиляции для отладочной и...
5
голоса
5
ответов
11
просмотров
Ошибка: запрос члена '..' в '..', который имеет не классный тип

У меня есть класс с двумя конструкторами: один без параметров и один с одним параметром.

Создание объектов с использованием конструктора, который принимает один параметр, работает как ожидалось. Однако, когда я пытаюсь создать объекты с использованием конструктора без параметров, возникает...

5
голоса
5
ответов
14
просмотров
Определение typedef для указателя на функцию?

Я изучаю, как динамически загружать DLL, но не могу понять следующую строку кода:

typedef void (*FunctionFunc)();

У меня есть несколько вопросов. Буду признателен, если кто-то сможет на них ответить.

  1. Зачем используется typedef?
  2. Синтаксис выглядит странно; после void не должно...
5
голоса
4
ответов
13
просмотров
`unsigned int` против `size_t`: когда и что использовать?

Я заметил, что в современном C и C++ коде вместо int и unsigned int почти повсеместно используется size_t - от параметров для функций работы с C-строками до STL. МнеCurious, почему так происходит и какие преимущества это дает.

5
голоса
5
ответов
11
просмотров
Инициализация статической std::map<int, int> в C++

Как правильно инициализировать статическую карту? Нужно ли для этого создавать статическую функцию, которая будет её инициализировать?

6
голоса
0
ответов
46
просмотров
В каких случаях использовать malloc и/или new?

Я вижу, что в C++ существует несколько способов выделения и освобождения памяти, и я понимаю, что при вызове malloc необходимо вызывать free, а при использовании оператора new следует использовать delete. Также я знаю, что смешивать эти два подхода (например, вызывать free() для объекта,...

5
голоса
5
ответов
13
просмотров
Основные цели std::forward и решаемые им проблемы

Описание проблемы:

Я изучаю концепцию идеальной передачи (perfect forwarding) в C++ и столкнулся с вопросом о том, как работает функция std::forward. В приведенном ниже коде std::forward используется для преобразования именованных rvalue-ссылок t1 и t2 в безымянные...

6
голоса
5
ответов
12
просмотров
Отладка с параметрами командной строки в Visual Studio

Я разрабатываю командную консольное приложение на C++ в Visual Studio и мне нужно отлаживать его с аргументами командной строки. В данный момент я просто запускаю сгенерированный EXE-файл с необходимыми аргументами (например, program.exe -file.txt), но таким образом я не могу выполнять отладку....

5
голоса
5
ответов
12
просмотров
Почему нужны заголовочные файлы и .cpp файлы? [закрыто]

Описание проблемы: Почему в C++ существуют файлы заголовков и файлы .cpp?

Здравствуйте! Я столкнулся с вопросом, касающимся структуры файлов в C++. Меня интересует, зачем в этом языке программирования используются как файлы заголовков (.h или .hpp), так и файлы с исходным кодом (.cpp)? Какова...

6
голоса
4
ответов
11
просмотров
Вызов C/C++ из Python? [закрыто]

Проблема: Поиск метода для создания Python-обертки для библиотеки C/C++

Здравствуйте!

Я пытаюсь создать обертку для библиотеки на C или C++, чтобы использовать её в своем проекте на Python. Мне нужно быстрое решение, и я работаю в среде Windows.

Какой самый простой и быстрый способ создать...

5
голоса
5
ответов
14
просмотров
Программно определить количество ядер на машине

Существует ли способ определить количество ядер у машины с помощью C/C++ в независимом от платформы формате? Если такого способа не существует, можно ли узнать это отдельно для каждой платформы (Windows/*nix/Mac)?

5
голоса
5
ответов
11
просмотров
Как написать многострочную строку в языке программирования?

Заголовок: Многострочные литералы в C++ как в Perl

Тело вопроса: Есть ли способ задать многострочные текстовые литералы в C++, аналогично тому, как это делается в Perl? Возможно, существует какой-то прием с #include, который позволяет включить файл?

Я знаю, что начиная с C++11 можно...

5
голоса
4
ответов
12
просмотров
Когда использовать extern в C++?

Я читаю книгу "Think in C++", и в ней только что была введена декларация extern. Например:

extern int x; extern float y;

Я думаю, что понимаю значение (декларация без определения), но меня интересует, когда это оказывается полезным.

Может кто-нибудь привести пример?

6
голоса
5
ответов
13
просмотров
Почему компиляция C++ так долго занимает время? [закрыто]

Проблема с долгим временем компиляции C++

Компиляция C++ файлов занимает значительно больше времени по сравнению с C# и Java. Например, компиляция обычного C++ файла занимает гораздо больше времени, чем выполнение стандартного скрипта Python. Я использую VC++, но та же проблема наблюдается и...

5
голоса
5
ответов
12
просмотров
Что такое `unsigned char`?

Проблема: Использование unsigned char в C/C++

В C/C++ существует тип данных unsigned char, который часто вызывает вопросы у разработчиков. В частности, возникает необходимость понять, для чего он используется и чем он отличается от обычного char.

С одной стороны, char может быть...

5
голоса
5
ответов
10
просмотров
Каковы преимущества std::distance по сравнению с вычитанием итераторов?

Я итерируюсь по вектору и мне нужен индекс, на который указывает итератор. Какие достоинства и недостатки у следующих методов?

it - vec.begin() std::distance(vec.begin(), it)