C++ — это язык программирования общего назначения. Изначально он разрабатывался как расширение C и имел аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде, который будет скомпилирован с помощью компилятора C++. Используйте тег версии для вопросов, связанных с конкретной стандартной версией [C++11], [C++14], [C++17], [C++20] или [C++23]. и т.д.
Я выполняю короткое упражнение по практике C++ и столкнулся с проблемой с запросом ввода данных пользователем в цикле while.
int i = 0;
do {
int count = i + 1; // Counter for the amount of celebrities entering.
std::cout << "Celebrity Counter: " << count << "\n";
std::cout << "Enter f...
26 Сен 2023 в 04:22
Я хочу понять организацию памяти в моем языке программирования, который состоит из четырех основных областей: стека, кучи, кода и данных. Однако мне неясно, где язык программирования хранит классы и связанные с ними методы в этих областях памяти.
Может ли кто-нибудь объяснить, какая область памяти ...
Это упражнение, которое просит нас сделать следующее:
Напишите программу, которая читает строки. Для каждой входной строки кто-то сообщает, сколько ему лет. В ответ программа должна сказать, что этот человек выглядит моложе, и предложить меньший возраст. Для детей от 10 до 19 лет программа предлож...
26 Сен 2023 в 02:17
Я пытаюсь закодировать проблему коллатца на ассемблере (просто ради удовольствия). Я только что закончил первую часть. Я вызываю код сборки из функции С++ в другом файле.
if (((n / 2) * 2) == n) n = n / 2;
else n = 3 * n + 1;
.code
isCN proc n:dword
mov eax, n
xor edx, edx
mov ecx, 2
mov r8d, ea...
Рассмотрим код ниже:
struct LambdaWrapper {
auto getLambda() {
return []() {
std::cout << "Lambda is called" << std::endl;
};
}
};
void useLambda(auto &&lambda) {
lambda();
}
int main() {
LambdaWrapper w;
useLambda(w.getLambda());
return 0;
}
Я ...
Я пытаюсь использовать структурированные привязки для возврата std::tuple<std::string, std::vector<std::string_view>> , который представляет строку и представления строк, указывающие на указанную строку.
Попытка сделать это следующим образом:
#include <iostream>
#include <string>
#include <string_v...
25 Сен 2023 в 20:36
#include <iostream>
#include <cctype>
using namespace std;
int main() {
int numberofnames;
cin >> numberofnames;
string* arr = new string[numberofnames];
// Created an array to get all the names
for (int i = 0; i < numberofnames; i++) {
cin >> arr[i];
}
// ...
25 Сен 2023 в 19:50
Я хочу использовать библиотеку журналирования C++ в смешанном приложении C/C++. Устаревшее приложение полно журналов в стиле printf. Новая библиотека также поддерживает это.
Файлы C компилируются с помощью компилятора C, поэтому я не могу включить в них заголовки журналирования C++.
Я пытаюсь созд...
25 Сен 2023 в 17:45
У меня есть класс, скажем, A. Класс A имеет переменную-член типа:
std::shared_ptr<SomeType> m_dataMemberInA
Я не инициализирую член класса A. В классе B у меня также есть
std::shared_ptr<SomeType> m_dataMemberInB
Как переменная-член. В инициализаторе класса B я связываю два указателя:
B::B(std::s...
25 Сен 2023 в 16:46
Я пытаюсь перевести приведенное ниже текст с C++ на C#, где v — длинное без знака:
(v & 1UL) ? 0x9908B0DFUL : 0x0UL
Вышеупомянутое не имело проблем на C++. Но когда я помещаю то же самое в С# (v — ulong):
(v & Convert.ToUInt64(1UL)) ? 0x9908B0DFUL : 0x0UL
Я получаю сообщение об ошибке компиляции:...
25 Сен 2023 в 16:08
Я пытаюсь проанализировать string, чтобы получить информацию о состоянии, которое имеет входные данные и в какое состояние перейти, когда оно получит информацию.
Пример ввода с заданным i{OPEN}a{LOCKED}s{n{OPEN}t{i{PUSH}d{CLOSED}}t{i{PULL}d{OPEN}}t{i{TURN}d{OPEN}}}s{n{CLOSED}t{i{PUSH}d{CLOSED}}t{i{P...
25 Сен 2023 в 15:57
Я хочу использовать решение Visual Studio для хранения своих проектов на Python, а также проектов на основе CUDA/C++. Как видно на снимке экрана ниже, в моем решении два проекта: один основан на C++, а другой — на Python.
... для проекта на основе Python я получаю возможность добавить новую папку,...
25 Сен 2023 в 15:35
Я хочу создать систему слоев, подобную Photoshop, с использованием QTreeWidget, поскольку она допускает групповую структуру.
Вот что я хочу добавить:
Horizontal Layout: [Icon, LineEdit, Checkbox]
Однако я не знаю, как разместить там элементы управления, особенно расположенные, как в Photoshop.
Я с...
25 Сен 2023 в 14:28
Как я могу добавить элементы в приведенный ниже std::queue при его инициализации.
std::unique_ptr<std::queue<std::unique_ptr<std::string>>> _queue
Я пробовал следующим образом, но это не работает.
#include <iostream>
#include <queue>
#include <memory>
#include <string>
int main() {
// Create ...
25 Сен 2023 в 14:12
Когда я попытался перебрать переменные аргументы с помощью следующей функции
Я не понимаю '{(Print(Param),0)... } 'где используется 0
#include<iostream>
using namespace std;
template<typename T>
void Print(T& arg)
{
cout << arg << endl;
}
template<typename ...ParamTypes>
void Func(ParamTypes...
25 Сен 2023 в 12:35
У меня есть несколько функций, которые выполняются за несколько наносекунд, и я хочу измерить время их выполнения, чтобы оценить их производительность.
Основная идея очень проста: возьмите временную метку, выполните одни и те же блоки кода в цикле много раз, возьмите другую временную метку, вычислит...
25 Сен 2023 в 12:32
Я анализирую журналы SVN, и они содержат дату/время в этом формате 2023-09-23T23:08:30.383815Z.
Мне нужно преобразовать это в объект времени (предположим, std::chrono::steady_clock — хороший формат). Однако весь код, который я смог найти для этого, использует std::tm, который не имеет точности в ми...
25 Сен 2023 в 12:31
Я создаю функцию журнала, имеющую функцию, подобную printf: log(LOG_LEVEL lvl, const char* fmt, ...).
LOG_LEVEL — это просто перечисление (0 имеет решающее значение, более высокие значения менее важны).
Если lvl больше, чем другая переменная (скажем, current_log_level), я хочу сделать как можно мень...
25 Сен 2023 в 12:11
Я попытался реализовать класс, подходящий как для динамического, так и для статического полиморфизма на основе необходимости стирания, т. е. использовать динамический полиморфизм только в том случае, если мне нужно (например, гетерогенный список). Я пишу следующий код
class Connection {
public:
Con...
25 Сен 2023 в 12:08
В настоящее время я пытаюсь создать инструмент, который должен обрабатывать множество строк.
При тестировании инструмента с помощью top я заметил, что использование памяти моей программой со временем увеличивается. После длительного анализа и использования таких инструментов, как valgrind, я пришел...
Я следую этому примеру для создания простого проекта CMake с помощью vcpkg: https://learn.microsoft.com/en-us/vcpkg/examples/manifest-mode-cmake
К сожалению, на этапе настройки CMake я получаю несколько странных ошибок:
Журналы CMake:
1> CMake generation started for configuration: 'x64-debug'.
1> ...
Я столкнулся с некоторыми трудностями, пытаясь понять библиотеку fmt.
Начнем с функции print:
fmt::print("Hello, {}", a);
Это определение print:
template <typename... T>
FMT_INLINE void print(format_string<T...> fmt, T&&... args) {
// Implementation
}
Функция print принимает format_string<T......
25 Сен 2023 в 08:35
Я пытаюсь изменить готовый make-файл, чтобы предотвратить компиляцию определенных указанных файлов и каталогов. Как бы я поступил, если бы хотел предотвратить компиляцию файла «src/values.cpp» и компиляции каталога «src/data/»?
Вот правила составления (Кому поможет, сообщите, если нужны еще какие-т...
25 Сен 2023 в 08:22
В чем разница между
std::vector<uint8_t> vec1(size);
А также
std::vector<uint8_t> vec2;
vec2.reserve(size);
Они оба выделяют память в куче?...
Я новичок в C++ и у меня есть вопрос
Например:
#include <iostream>
using namespace std;
void f (int);
int main ()
{
f (2);
return 0;
}
void
f (int x)
{
int a = 1;
int b = 2;
int i;
if (x == 1)
cout << a << b;
if (x > 1)
{
a=2;
b=1;
f (x-1);
}
}
Р...