Вопросы по теме 'c++03'

Для чего раньше использовалось `auto`?
Я знаю, что до C++11 ключевое слово auto имело совершенно другое значение; это был спецификатор типа хранения, указывающий на объект, который имеет автоматический тип хранения (т. е. помещается в стек). Такова теория... Как бы вы на самом деле...
1522 просмотров
schedule 14.05.2023

Вектор структур с членами const?
скажем, у меня есть #include <string> #include <vector> using namespace std; struct Student { const string name; int grade; Student(const string &name) : name(name) { } }; Как мне тогда сохранить вектор студентов?...
2938 просмотров
schedule 05.06.2022

Получение типа члена
ПРИМЕЧАНИЕ . Первоначально этот вопрос задавался еще в 2012 году. До того, как спецификатор decltype был полностью реализован всеми основными компиляторами. Вы не должны смотреть на этот код, если у вас нет доступа только к C++03. Все основные...
8936 просмотров

Как предотвратить вывод типа в С++ 03?
C++11 вводит ключевое слово final , которое делает недопустимым наследование от типа. Есть ли способ добиться аналогичного результата с С++ 03, возможно, сделав некоторые функции-члены private ?
96 просмотров
schedule 05.09.2022

Какой контейнер следует использовать для часто создаваемых и удаляемых игровых объектов?
Я делаю игру, в которой я создаю объекты и часто их убиваю. Я должен иметь возможность линейно зацикливать список объектов таким образом, чтобы следующий объект всегда был новее предыдущего, поэтому рендеринг объектов будет правильным (они будут...
929 просмотров
schedule 26.06.2022

Как проверить, является ли класс B производным от семейства шаблонов классов
Как проверить во время компиляции, является ли класс B производным от std::vector? template<class A> struct is_derived_from_vector { static const bool value = ????; }; Как проверить во время компиляции, является ли класс B производным...
1524 просмотров
schedule 30.07.2023

C++ Почему инициализация вектора вызывает конструктор копирования
Когда вы инициализируете вектор следующим образом: std::vector<MyClass> MyVec(10); Он вызывает конструктор по умолчанию один раз, а затем еще 10 раз вызывает конструктор копирования. Итак, если я правильно понимаю, все объекты в...
2760 просмотров
schedule 14.11.2022

Ближайшее целое число к значению с плавающей запятой в C++03
Как я могу найти для некоторого целочисленного типа значение, наиболее близкое к некоторому значению типа с плавающей запятой, даже если значение с плавающей запятой находится далеко за пределами представляемого диапазона целого числа. Или точнее:...
884 просмотров

назначение char для ссылки int и ссылки const int в С++
Я заметил, что присваивание char const int& компилируется, но присваивание int& дает ошибку компиляции. char c; int& x = c; // this fails to compile const int& y = c; // this is ok Я понимаю, что это не очень...
451 просмотров
schedule 15.09.2022

Как стабильно_сортировать без копирования?
Зачем stable_sort нужен конструктор копирования? ( swap должно хватить, верно?) Или, точнее, как stable_sort сделать диапазон без копирования каких-либо элементов? #include <algorithm> class Person { Person(Person const &);...
1286 просмотров
schedule 28.10.2022

Недостаточно контекстной информации для определения типа
Я провел исследование, и я вообще не могу понять смысл этого сообщения. Все, что я нахожу, кажется ошибкой самого компилятора. Я также где-то читал, что "недостаточно контекстной информации для определения типа" не является полезным сообщением ....
3255 просмотров
schedule 31.05.2022

Почему в этом коде не работает PRIu64?
В соответствии с этим ответом я попытался напечатать uint64_t , но выдает ошибку: ошибка: ожидается ``)' перед 'PRIu64' Ниже приведен минимальный код, показывающий, что я пытаюсь сделать: #define __STDC_FORMAT_MACROS #include...
30781 просмотров
schedule 09.12.2022

Как привести к нему boost::bind(&myClass::fun, this, _1, _2, _3) к typedef void (*fun)(arg1, arg2, arg3)?
В lib Bullet определен тип: typedef void (*btNearCallback)(btBroadphasePair& collisionPair, btCollisionDispatcher& dispatcher, const btDispatcherInfo& dispatchInfo); в этих документах представлен пример использования (стр. 23) :...
1229 просмотров
schedule 11.04.2022

Проверка формата строки без регулярного выражения (C++03)
Кто-нибудь знает лучший способ проверить формат строки в С++ без использования класса регулярных выражений С++ 11. В основном у меня есть несколько строк в формате этого типа TAG1: VALUE, TAG2: VALUE, TAG1: VALUE, TAG2: VALUE TAG1 и TAG2 — это...
1148 просмотров
schedule 04.10.2022

stl find_if и сравнение строк без учета регистра
У меня есть вектор Models , как показано ниже: struct Model { std::string mName; // ....... }; Учитывая строку, представляющую имя модели, я хочу посмотреть, смогу ли я найти одну из моделей в векторе. Прямо сейчас у меня есть...
2093 просмотров
schedule 06.11.2022

Альтернатива C++11 std::nextafter и std::nexttoward для C++03?
Как следует из названия, функциональность, которая мне нужна, предоставляется математическими библиотеками С++ 11 для поиска следующего значения с плавающей запятой в направлении определенного значения. Помимо извлечения кода из стандартной...
1424 просмотров

Инициализация статической локальной переменной в многопоточной среде
Предположим, что есть функция (возможно, функция-член) SomeType foo() { static SomeType var = generateVar(); return var; } Как будет инициализирован var , если foo будет вызываться "впервые" из нескольких потоков одновременно?...
1980 просмотров

Специализация шаблона для нескольких типов
Название немного двусмысленное. Допустим, у меня есть шаблон, определенный как: template < typename T > void foo ( int x ) ; template <> void foo<char> ( int x ) ; template <> void foo<unsigned char> ( int x ) ;...
15823 просмотров
schedule 28.06.2022

Как следует освобождать память после возникновения исключения в C++?
Прошу прощения, если этот вопрос повторяется - я некоторое время искал, но, возможно, мой гугл-фу просто не на высоте. Я изменяю программу C++, которая вызывает библиотеку C. Библиотека C выделяет кучу памяти (используя malloc() ), а программа...
1024 просмотров
schedule 17.07.2022

неопределенный параметр функции
В ответе GManNickG он использовал обозначение: template <typename> static no& test(...); Первоначально я думал, что это просто сокращение от «insert blah», и пользователь должен подставить свой собственный тип:...
298 просмотров
schedule 23.06.2023