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

std :: vector ‹› производное с resize (), которое не инициализирует примитивы и пересылает construct_back
Так что есть масса случаев, когда это необходимо в приложениях, чувствительных к производительности, и я, наконец, нахожусь на соломинке, которая сломала верблюдов. Его необходимо компилировать на C ++ 98, поскольку по крайней мере одна из наших...
604 просмотров
schedule 13.11.2021

Зависящий от класса c ++ typedef объявлен вне класса
У меня есть два класса, которые я назову classA и classB. В classA я определил несколько типов, например T5. В classB я использую такие типы, которые определены в classA. Во избежание написания typename classA<T1,T2>::T5 В моем...
276 просмотров
schedule 22.10.2021

Оператор перегрузки [] с другим типом возврата
Я работаю над форматом JSON, используя ‹C ++ 98›, и по этой причине я определил 3 класса: class Json { public: string key; }; class JsonElement:public Json { public: string value; } class JsonObject: public Json { public:...
70 просмотров
schedule 13.10.2021

Произошло ли фиаско с порядком статической инициализации при инициализации переменных внутри класса?
Я пытаюсь реорганизовать наш старый код с С ++ 98 на С ++ 14. И необходимость компилировать как с более старым gcc (c ++ 98), так и с более новым gcc (c ++ 14). Так выглядит наш старый код (это полностью составленный пример нашего сложного кода....
63 просмотров

не может передать по ссылке указатель, возвращенный функцией
почему мне нужна промежуточная переменная для передачи моего указателя возврата по ссылке вместо того, чтобы просто использовать функцию, которая возвращает этот указатель? Это не компилируется int main () { testfunc(getpointer()); return...
243 просмотров
schedule 25.02.2022

Должна ли абстрактная фабрика С++ предоставлять метод уничтожения для сконструированных объектов?
Рассмотрим следующий интерфейс (используются тупые указатели, потому что мы все еще в C++98) class WidgetMaker { virtual Widget* makeWidget() = 0; }; При следующей вероятной реализации class SpecificWidgetMaker: public WidgetMaker {...
709 просмотров
schedule 18.04.2022

В теле функции-члена класса шаблона вне определения класса, когда требуются параметры шаблона?
Этот код компилируется (Visual Studio 2013). Обратите внимание, что я передаю Set , а не Set<T> , в качестве параметра operator= в теле функции, которое находится за пределами определения класса. Но я не могу вернуть Set или сделать его...
784 просмотров
schedule 13.05.2022

Компилируется ли C++11 медленнее, чем C++98?
Я хотел переключить настройки моего проекта с C++98 на C++11, но я весьма скептически отношусь к этому из-за дополнительного времени компиляции. В моем (довольно большом) проекте около 800 файлов, и проект создается с помощью cmake. В XCode с...
1088 просмотров
schedule 20.05.2022

Вставить несколько значений в вектор
У меня есть переменная std::vector<T> . У меня также есть две переменные типа T, первая из которых представляет значение в векторе, после которого я должен вставить, а вторая представляет значение для вставки. Допустим, у меня есть этот...
2528 просмотров
schedule 14.06.2022

stdbool.h: #define true true
stdbool.h содержит этот код: #if __cplusplus < 201103L /* Defining these macros in C++98 is a GCC extension. */ #define bool bool #define false false #define true true #endif Почему gcc нужно переопределять стандартные типы C++?
376 просмотров
schedule 12.07.2022

C ++ Невозможно создать класс, расширяющий шаблон
Почему я могу ввести шаблон и построить его без объявления конструктора, но не могу расширить шаблон как класс и построить его без объявления конструктора? В этом примере typedef работает, а класс - нет. Наверняка где-то C ++ генерирует конструктор...
28 просмотров
schedule 16.08.2022

Является ли std::deque действительно потокобезопасным?
Я знаю, что книги говорят о том, что std::deque является умеренно потокобезопасным, но мой опыт доказывает обратное. Я использую VS 2010. Есть как минимум два потока (может быть N потоков, но добавление потоков только ускорит возникновение проблемы),...
4318 просмотров
schedule 06.09.2022

Указатель поврежден при возврате из функции
TL;DR : когда я запускаю свою программу на C++ на Mac под OS X Yosemite, указатель повреждается при возврате функции. Как мне предотвратить это? (и почему?) В этом примере программы у меня есть структура данных типа category_map<T> ,...
1176 просмотров
schedule 03.09.2022

Как преобразовать карту‹int, string› из С++ 11 в С++ 98?
У меня есть этот код на С++ 11: #include <string> #include <map> using namespace std; map<int, string> finalStates = { { 0, "eroare lexicala" }, { 1, "identificator" } }; И я попытался преобразовать его в С++ 98,...
154 просмотров
schedule 17.09.2022

Почему std::list больше на С++ 11?
с этим кодом: #include <iostream> #include <list> int main() { std::cout << sizeof(std::list<void*>) << std::endl; }; Я успел заметить, что на GCC 4.7 размер std::list<void*> на C++98 составляет 16...
3127 просмотров
schedule 27.08.2023

Где стандарт С++ 98 указывает, что локально объявленные имена шаблонов не зависят?
Согласно этой странице: http://womble.decadent.org.uk/c++/template-faq.html#non-dependent «Независимые имена — это те имена, которые считаются не зависящими от параметров шаблона, плюс имя самого шаблона и имена, объявленные в нем (члены , друзья и...
205 просмотров

Инициализировать встроенный вектор bool
Я использую этот пример для инициализации логического вектора: #include <iostream> #include <map> #include <vector> using namespace std; int main() { map<int, vector<bool> > myMap; vector<bool> one {true,...
34704 просмотров
schedule 30.11.2022

Является ли инициализация значения частью стандарта C++98? Если нет, то почему он был добавлен в стандарт C++03?
Ура и чт. - Альф сделал комментарий в этом ответе , что инициализация значения, возможно, является новой функцией C++03 по сравнению с C++. 98. Интересно, что он имел в виду. Является ли инициализация значения частью C++98? Он присутствует в...
2023 просмотров

Аннулирование итератора с помощью `std :: string :: begin ()` / `std :: string :: end ()`?
#include <string> #include <iostream> int main() { std::string s = "abcdef"; std::string s2 = s; auto begin = const_cast<std::string const &>(s2).begin(); auto end = s2.end(); std::cout << end -...
960 просмотров
schedule 06.06.2023

Увеличить значение boost::variant
У меня есть вариантная переменная, в которой все разные типы реализуют operator++ . Я хотел бы применить приращение непосредственно к переменной варианта. Есть ли простой способ сделать это? Или я должен применить его в переключателе для каждого...
307 просмотров
schedule 03.01.2023