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

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

17
Вперед, объявляя перечисление в C ++
Я пытаюсь сделать что-то вроде следующего: enum E; void Foo(E e); enum E {A, B, C}; который компилятор отклоняет. Я быстро посмотрел на Google, и консенсус, кажется, «вы не можете сделать это», но я не могу понять, почему. Кто-нибудь может объяснить? Пояснение 2: Я делаю это, поскольку у меня есть …
265 c++  enums 

4
функции-члены std :: string length () и size ()
Я читал ответы на этот вопрос и обнаружил, что на самом деле есть метод, называемыйlength() для std::string(я всегда использовал size()). Есть ли какая-то конкретная причина для использования этого метода в std::stringклассе? Я прочитал и MSDN и CppRefernce, и они, кажется, указывают, что нет никакой разницы между size()и length(). Если это …
265 c++  string  stl  size 

13
Как вы создаете статический класс в C ++?
Как вы создаете статический класс в C ++? Я должен быть в состоянии сделать что-то вроде: cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl; Предполагая, что я создал BitParserкласс. Как будет BitParserвыглядеть определение класса?
264 c++  oop  class  syntax  static 

30
Как я могу читать и анализировать файлы CSV в C ++?
Мне нужно загрузить и использовать данные файла CSV в C ++. На данный момент это может быть просто парсер, разделенный запятыми (т.е. не беспокойтесь о экранировании новых строк и запятых). Основная потребность - построчный анализатор, который будет возвращать вектор для следующей строки каждый раз, когда вызывается метод. Я нашел эту …
264 c++  parsing  text  csv 

28
Как я могу добавить отражение в приложение C ++?
Я хотел бы иметь возможность проанализировать класс C ++ на предмет его имени, содержимого (т.е. членов и их типов) и т. Д. Я говорю здесь на родном C ++, а не на управляемом C ++, в котором есть отражение. Я понимаю, что C ++ предоставляет некоторую ограниченную информацию, используя RTTI. …

10
Быстрый потолок целочисленного деления в C / C ++
При заданных целочисленных значениях xи yC, и C ++ оба возвращают как частное q = x/yзначение эквивалента с плавающей запятой. Меня интересует метод возврата потолка. Например, ceil(10/5)=2и ceil(11/5)=3. Очевидный подход включает в себя что-то вроде: q = x / y; if (q * y < x) ++q; Это требует дополнительного …
262 c++  c  algorithm  math 


11
преобразовать символ * в std :: string
Мне нужно использовать std::stringдля хранения данных, полученных fgets(). Для этого мне нужно преобразовать char*возвращаемое значение из fgets()в std::stringдля хранения в массиве. Как это может быть сделано?
262 c++  stdstring 

17
Как разобрать строку в int в C ++?
Какой способ синтаксического анализа строки (заданной как char *) в int в C ++? Надежная и понятная обработка ошибок является плюсом (вместо возврата нуля ).
261 c++  parsing 

5
Как бросить исключение C ++
У меня очень плохое понимание обработки исключений (например, как настроить операторы throw, try, catch для моих собственных целей). Например, я определил функцию следующим образом: int compare(int a, int b){...} Я бы хотел, чтобы функция генерировала исключение с некоторым сообщением, когда a или b отрицательны. Как я должен подходить к этому …

21
Как вы делаете HTTP-запрос с C ++?
Есть ли способ легко сделать HTTP-запрос с C ++? В частности, я хочу загрузить содержимое страницы (API) и проверить содержимое, чтобы увидеть, содержит ли оно 1 или 0. Можно ли также загрузить содержимое в строку?
258 c++  httprequest 


7
Автозаполнение в Vim
Короче говоря, я ищу работающую функцию автозаполнения для редактора Vim. Ранее я утверждал, что Vim полностью заменяет IDE в Linux, и, хотя это, безусловно, правда, в ней отсутствует одна важная функция: автозаполнение. Я знаю , о Ctrl+ N, интеграции Буйный Ctags , Taglist , cppcomplete и OmniCppComplete . Увы, ни …
257 c++  vim  ide  autocomplete 

16
выбрасывать исключения из деструктора
Большинство людей говорят, что никогда не выбрасывают исключение из деструктора - это приводит к неопределенному поведению. Страуструп подчеркивает, что «векторный деструктор явно вызывает деструктор для каждого элемента. Это означает, что, если деструктор элемента выбрасывает, векторное разрушение завершается неудачно ... На самом деле нет хорошего способа защиты от исключений, генерируемых деструкторами, …

10
Почему лямбда-код C ++ 11 по умолчанию требует ключевое слово mutable для захвата по значению?
Краткий пример: #include <iostream> int main() { int n; [&](){n = 10;}(); // OK [=]() mutable {n = 20;}(); // OK // [=](){n = 10;}(); // Error: a by-value capture cannot be modified in a non-mutable lambda std::cout << n << "\n"; // "10" } Вопрос: зачем нам mutableключевое слово? …
256 c++  lambda  c++11 

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