Есть ли способ перебирать ключи, а не пары карты C
Есть ли способ перебирать ключи, а не пары карты C
Почему я не могу этого сделать? class A { public: int a, b; }; class B : public A { B() : A(), a(0), b(0) { } };
Вопрос в следующем: рассмотрите этот фрагмент кода: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int, int)) { function(1, 1); } void test(int a,int b) { printf("%d - %d = %d", a , b , a - b); }...
Я новичок в программировании в целом, поэтому решил, что начну с создания простого векторного класса на C ++. Однако я бы хотел с самого начала выработать хорошие привычки, а не пытаться изменить свой рабочий процесс позже. У меня сейчас только два файла vector3.hppи vector3.cpp. Этот проект будет...
Я просмотрел эту страницу, но не могу понять причину того же. Там упоминается, что "для него более разумно вообще не возвращать никакого значения и требовать от клиентов использования front () для проверки значения в начале очереди" Но проверка элемента из front () также требует, чтобы этот элемент...
Вот документация по cppreference , вот рабочий проект. Должен признать, что я не понимал, какова настоящая цель polymorphic_allocatorи когда / почему / как я должен его использовать. Например, pmr::vectorподпись имеет следующую подпись: namespace pmr { template <class T> using vector =...
Я хотел бы писать приложения, использующие C ++ и фреймворки Cocoa, потому что Apple не поддерживает 64-разрядную версию Carbon. С ++ кажется довольно ванильным в своей реализации в Linux и Windows, но в Mac OS X кажется, что требуются дополнительные части кода, специфичные для Apple (например,...
Я занимаюсь программированием некоторое время, но в основном это были Java и C #. На самом деле мне никогда не приходилось управлять памятью самостоятельно. Я недавно начал программировать на C ++, и я немного не понимаю, когда мне следует хранить вещи в стеке, а когда - в куче. Я понимаю, что...
Часто, работая с C ниже gcc, я начинаю со следующего набора предупреждающих флагов (с трудом собранных из нескольких источников): -Wall -Wextra -Wformat-nonliteral -Wcast-align -Wpointer-arith -Wbad-function-cast \ -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Winline -Wundef \...
Я работал над некоторым кодом C ++, который написал мой друг, и при компиляции с gcc4.6 получаю следующую ошибку, которую никогда раньше не видел: error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the default definition would...
В недавнем интервью мне задали действительно странный вопрос. Интервьюер спросил меня, как я могу вычислить 1 + 2 + 3 + ... + 1000, просто используя функции компилятора. Это означает, что мне не разрешено писать программу и выполнять ее, но я должен просто написать программу, которая могла бы...
Это пример того, что я часто делаю, когда хочу добавить некоторую информацию к исключению: std::stringstream errMsg; errMsg << "Could not load config file '" << configfile << "'"; throw std::exception(errMsg.str().c_str()); Есть способ сделать это...
Недавно я столкнулся со странной деоптимизацией (точнее, упущенной возможностью оптимизации). Рассмотрим эту функцию для эффективной распаковки массивов 3-битных целых чисел в 8-битные целые числа. На каждой итерации цикла он распаковывает 16 int: void unpack3bit(uint8_t* target, char* source, int...
При объявлении шаблона я привык иметь такой код: template <class T> Но в этом вопросе они использовали: template <unsigned int N> Проверил, компилируется. Но что это значит? Это не типовой параметр? И если да, то как мы можем иметь шаблон без какого-либо параметра...
Я ищу эффективный способ определения позиции младшего значащего бита, который установлен в целое число, например, для 0x0FF0 это будет 4. Тривиальная реализация такова: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) {...
Мне нужно вычислить время выполнения фрагмента кода C ++ в секундах. Он должен работать либо на машинах Windows, либо на Unix. Для этого я использую следующий код. (импорт раньше) clock_t startTime = clock(); // some code here // to compute its execution duration in runtime cout << double(...
О гуру C ++, я ищу твоей мудрости. Говорите со мной на стандартном языке и скажите, гарантирует ли C ++, что следующая программа: #include <iostream> using namespace std; struct A { A() { cout << "A::A" << endl; } ~A() { cout << "A::~" << endl; } }; struct B { B() {...
В C (или C ++, если на то пошло) указатели являются особенными, если они имеют нулевое значение: я советую устанавливать указатели на ноль после освобождения их памяти, потому что это означает, что освобождение указателя снова не опасно; когда я вызываю malloc, он возвращает указатель с нулевым...
Я хотел бы подготовить небольшой обучающий инструмент для SO, который должен помочь начинающим (и промежуточным) программистам распознавать и оспаривать свои необоснованные предположения в C, C ++ и их платформах. Примеры: "целые числа" "у всех есть ASCII" "Я могу сохранить указатель на функцию в...
Я читал, что перегруженный оператор, объявленный как функция-член, является асимметричным, потому что он может иметь только один параметр, а другой параметр, передаваемый автоматически, является thisуказателем. Так что не существует стандарта для их сравнения. С другой стороны, перегруженный...