Вопросы по теме '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 просмотров
schedule
16.09.2021
не может передать по ссылке указатель, возвращенный функцией
почему мне нужна промежуточная переменная для передачи моего указателя возврата по ссылке вместо того, чтобы просто использовать функцию, которая возвращает этот указатель?
Это не компилируется
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 просмотров
schedule
09.07.2023
Инициализировать встроенный вектор 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 просмотров
schedule
13.03.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