Вопросы
Как преобразовать int в строку в C++?
Заголовок: Как конвертировать int
в эквивалентный string
в C++? Есть ли другие способы?
Описание проблемы:
Я сталкиваюсь с задачей преобразования целого числа (int
) в строку (string
) в C++. На данный момент я знаю о двух способах, которые можно использовать для достижения этой...
Почему следует использовать указатель вместо самого объекта?
Я пришёл из мира Java и начал работать с объектами в C++. Но меня смутило, что многие разработчики часто используют указатели на объекты, а не сами объекты. Например, вот так:
Object *myObject = new Object;
вместо этого:
Object myObject;
Также, вместо того чтобы...
Что такое лямбда-выражение и когда его следует использовать?
Вопрос: Что такое лямбда-выражение в C++11? В каких ситуациях я мог бы его использовать? Какие классы задач они решают, что было невозможно до их введения?
Несколько примеров и областей применения были бы полезны.
push_back против emplace_back: в чем разница?
Я немного запутался в различии между методами push_back
и emplace_back
в стандартной библиотеке C++.
Вот определения этих методов:
void emplace_back(Type&& _Val);
void push_back(const Type& _Val);
void push_back(Type&& _Val);
Учитывая, что существует перегрузка метода...
Какова разница между 'typedef' и 'using'?
Я знаю, что в C++11 мы можем использовать ключевое слово using для написания псевдонимов типов, аналогично typedef. Например:
typedef int MyInt;
Что, как я понимаю, эквивалентно:
using MyInt = int;
Эта новая синтаксическая конструкция появилась в рамках попытки создать способ для выражения...
Что такое std::move() и когда его следует использовать?
Проблема: Необходимость в разъяснении функциональности и применения технологии
Что это?
Я столкнулся с [название технологии или инструмента], и мне не совсем ясно, что это такое и какие его основные характеристики.Что он делает?
Хотел бы получить ясное объяснение...
Что означает T&& (двойной амперсанд) в C++11?
Я изучаю новые возможности C++11, и одна из них, которую я заметил, — это двойной амперсанд при объявлении переменных, например, T&& var.
Во-первых, как называется эта конструкция? Мне бы хотелось, чтобы Google позволял искать подобные символы.
Что именно это означает?
На первый взгляд, кажется,...
В чем разница между constexpr и const?
Заголовок: В чём разница между constexpr
и const
в C++?
Тело вопроса:
Я пытаюсь разобраться в различиях между constexpr
и const
в C++. У меня есть несколько вопросов по этой теме:
- Когда я могу использовать только одно из этих ключевых слов?
- В каких ситуациях я могу использовать...
Как преобразовать std::string в int?
Я хочу преобразовать строку в целое число, и я не имею в виду ASCII-коды.
Суть проблемы в том, что мы получаем уравнение в виде строки. Нам нужно разбить его, правильно отформатировать и решить линейные уравнения. При этом у меня не получается преобразовать строку в целое число.
Я знаю, что...
Когда действительно стоит использовать noexcept?
Когда и как использовать noexcept в C++?
Ключевое слово noexcept может быть применено к многим сигнатурам функций, но я не уверен, когда именно следует использовать его на практике. Из прочитанного мною стало понятно, что добавление noexcept в последний момент решает некоторые важные проблемы,...
Покончены ли дни передачи const std::string & в качестве параметра?
Я слышал недавний доклад Герба Саттера, который утверждал, что причины передавать std::vector
и std::string
по const &
в значительной мере утратили свою актуальность. Он предложил, что написание функции вроде следующей сейчас предпочтительнее:
std::string do_something ( std::string...
Каковы преимущества инициализации списка (с использованием фигурных скобок)?
Описание проблемы:
Я столкнулся с вопросом о том, как правильно и эффективно инициализировать объекты класса в C++. У меня есть следующий код:
MyClass a1 {a}; // более очевидно и менее подвержено ошибкам по сравнению с остальными тремя
MyClass a2 = {a};
MyClass a3 = a;
MyClass...
Возможно ли вывести тип переменной в стандартном C++?
Описание проблемы:
Я пытаюсь вывести тип переменной в C++, но, вместо ожидаемого результата, не могу добиться нужного вывода. Например, у меня есть следующий код:
int a = 12;
cout << typeof(a) << endl;
Я ожидаю, что результат будет:
int
Однако компилятор выдает ошибку,...
Основные цели std::forward и решаемые им проблемы
Описание проблемы:
Я изучаю концепцию идеальной передачи (perfect forwarding) в C++ и столкнулся с вопросом о том, как работает функция std::forward
. В приведенном ниже коде std::forward
используется для преобразования именованных rvalue-ссылок t1
и t2
в безымянные...
Почему `std::initializer_list` не поддерживает оператор подиндексации?
Вопрос:
Я пишу функцию, которая принимает параметр типа std::initializer_list
, названный list
, и мне необходимо произвести произвольный доступ к элементам этого списка. Было бы удобно использовать list[i]
вместо list.begin()[i]
. Однако, почему в std::initializer_list
не реализован...
Избежание неявного преобразования в конструкторе: ключевое слово 'explicit' здесь не помогает
Задача заключается в том, чтобы запретить создание объекта класса A
при передаче параметра типа double
, даже если конструктор помечен как explicit
. Я хочу, чтобы объекты класса A
могли создаваться только при передаче целочисленного параметра, например, A a1 = A(10);
.
Вот мой...
Функция, принимающая как lvalue, так и rvalue аргументы
Есть ли способ написать функцию на C++, которая принимает как lvalue, так и rvalue аргументы, не используя шаблоны?
Например, предположим, что я пишу функцию print_stream
, которая считывает данные из istream
и выводит их на экран или что-то в этом роде.
Я считаю вполне разумным вызывать...
Инициализатор члена не указывает на нестатический член данных или базовый класс
Проблема с инициализацией защищенных членов родительского класса в C++
Я столкнулся с проблемой, когда пытаюсь инициализировать защищенный член родительского класса в списке инициализации конструктора производного класса, и не могу найти решение через Google.
Привожу следующий код для...
Использование futures в C++11: Вложенные вызовы std::async приводят к сбоям - ошибка компилятора или стандартной библиотеки?
Описание проблемы
После того как я столкнулся с падениями программы при использовании вложенных вызовов std::async
, я смог воспроизвести проблему в следующем минимальном примере. Ошибки происходят часто, но не всегда. Видите ли вы что-то, что может быть причиной проблемы, или это ошибка...
Использование std::make_unique с пользовательским делетором
Я пытаюсь использовать std::unique_ptr
с пользовательским делитером и хотел бы воспользоваться std::make_unique
, а не сырым оператором new. Я работаю с VC++2013. Мне кажется, что нет способа использовать std::unique_ptr
, если есть кастомный делитер. Не пропустил ли я что-то, или это...