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

Как передать функцию-член класса в качестве обратного вызова?
Я использую API, который требует от меня передачи указателя на функцию в качестве обратного вызова. Я пытаюсь использовать этот API из своего класса, но получаю ошибки компиляции. Вот что я сделал из своего конструктора:...
133840 просмотров
schedule 14.03.2024

Указывает ли & s [0] на непрерывные символы в std :: string?
Я занимаюсь обслуживанием и наткнулся на что-то вроде следующего: std::string s; s.resize( strLength ); // strLength is a size_t with the length of a C string in it. memcpy( &s[0], str, strLength ); Я знаю, что использование & s [0]...
12259 просмотров
schedule 14.02.2023

sqrt() pow() fabs() не работает
я пытаюсь скомпилировать свою программу, в которой я использую такие функции, как sqrt pow и fabs. У меня есть math.h, но по какой-то причине я получаю такие ошибки, как: error C2668: 'fabs' : ambiguous call to overloaded function то же...
4239 просмотров
schedule 28.04.2024

С++ 03. Проверяйте rvalue-vs-lvalue во время компиляции, а не только во время выполнения
В C++03 Foreach Boost, используя этот интересный метод , может обнаруживать во время выполнения независимо от того, является ли выражение lvalue или rvalue. (Я обнаружил это с помощью этого вопроса StackOverflow: Rvalues ​​в C++03 ) Вот...
1931 просмотров
schedule 19.03.2022

Как получить указатель функции-члена деструктора?
Предположим, у меня есть struct X { ~X() {} }; Каков тип и как получить указатель функции-члена X::~X() в С++ 03? Я не хочу на самом деле вызывать его, просто используйте в SFINAE, чтобы понять, существует ли деструктор для данного типа.
2417 просмотров

Свертывание ссылок C++98/03 и квалификаторы cv
Приведенный ниже код компилируется (gcc 4.7.2 или icc 13) и выдает результат «1 2». Это означает, что квалификатор const отбрасывается, т.е. е., f<int&> имеет тип параметра int& . Почему это происходит? Насколько я понимаю,...
575 просмотров
schedule 22.05.2022

Как перегрузить бесплатную функцию для типа члена шаблона
У меня есть класс шаблона, который определяет некоторые типы членов. Это похоже на то, как std::map определяет value_type на основе собственных аргументов шаблона, но в моем случае тип более сложный, поэтому он определяется как вложенный класс....
1189 просмотров
schedule 08.05.2024

Всегда ли переносятся несколько перечислений, разделенных символом новой строки, а затем запятой?
Возьмите это перечисление в качестве примера на вопрос enum { one = 1 , two = 2 , three = 3 }; Я без проблем скомпилировал это перечисление со следующими компиляторами: Визуальная студия 2010 Встроенное рабочее место IAR для...
111 просмотров
schedule 04.07.2022

Компиляция отфильтрованного адаптера Boost
У меня проблемы с boost::adaptors::filtered . Есть образец для демонстрации проблемы struct IsRegex { IsRegex() {} // filter_iterator requires default constructible predicate explicit IsRegex(const boost::regex &rx) : m_rx(rx) {}...
344 просмотров
schedule 18.08.2023

С++ 03 перемещение вектора в член класса через конструктор (семантика перемещения)
У меня есть доступ только к C++03, и я часто хочу переместить вектор в функцию так, как это можно сделать в C++11. Вопрос, как это сделать, чтобы не слишком запутать пользователя кода. Итак, мой вопрос в том, как программисты делали это до C++11....
1362 просмотров
schedule 29.06.2023

Портативный тип имени с внешней связью
В статье доктора Добба Переносной оператор typeof говорится Но вы не можете использовать шаблон класса для извлечения типа из выражения, как вы можете использовать шаблоны функций или перегрузку. (Если выражение представляет собой имя с...
217 просмотров
schedule 10.12.2022

Поточно-ориентированный доступ к членам класса
Является ли одновременный доступ к двум разным членам класса одного и того же объекта из двух разных потоков POSIX потокобезопасным в C++ 03?
161 просмотров
schedule 17.10.2023

Нарушает ли доступ к массиву структуры POD как массиву ее единственного члена строгое сглаживание?
У меня есть целочисленные значения, которые используются для доступа к данным в несвязанных хранилищах данных, то есть дескрипторах. Я решил обернуть целые числа в структуру, чтобы иметь строго типизированные объекты, чтобы нельзя было перепутать...
549 просмотров
schedule 04.05.2024

Наличие шаблона указателя и указателя на функцию-член в качестве аргументов шаблона в C++03
Я хочу определить класс шаблона с двумя аргументами шаблона: Тип указателя T* Указатель на функцию-член базового типа T Кроме того, я хотел бы установить метод по умолчанию для аргумента функции. // Do not allow...
678 просмотров
schedule 01.04.2024

Как получить тип базового класса в С++?
Для этого конкретного проекта я не могу использовать функции С++ 11 (например, decltype ), потому что компилятор еще не поддерживает их. Мне нужно иметь возможность предоставить текущий класс в качестве параметра шаблона, желательно в макросе без...
197 просмотров
schedule 24.03.2023

Путаница по поводу того, что результат перегруженного оператора присваивания является lvalue или нет
У меня есть некоторые сомнения, читая этот абзац из книги «Beginning Visual C++ 2013»: Когда вы выражаете оставшуюся операцию присваивания как явный вызов перегруженной функции, это в конечном итоге становится:...
67 просмотров
schedule 27.01.2023

Как я могу развернуть программу C++11 (с зависимостями) на CentOS 6, чей GCC — C++03?
GCC отлично подходит для совместимости с ABI, если вы используете тот же стандарт C++ [ 1 ]. Но мне кажется, что если разделяемая библиотека, скомпилированная GCC 4.3 в режиме C++03, предоставляет, скажем, std::string , это будет другой...
1944 просмотров
schedule 17.11.2022

c++03 Инициализация массива объектов с несколькими параметрами
Это может быть простой вопрос, но я пытаюсь инициализировать массив объектов с помощью параметризованного конструктора. Например: class A{ public: int b,c,d; A (int i, int j); }; void A::A(int i, int j){ d = rand() b = 2*i; c...
197 просмотров
schedule 07.11.2023

Понимание стандартной грамматики C++03 для перегрузки операторов
Стандартная грамматика C++03 для перегрузки оператора выглядит следующим образом: идентификатор-функции-оператора : оператор оператор оператор оператор ‹ список-шаблонов-аргументов ?> Первый — это обычный синтаксис перегрузки...
253 просмотров
schedule 17.05.2023

Как отсортировать и ранжировать вектор в C++ (без использования C++11)
Я пытаюсь построить функцию, которая принимает вектор, ранжирует его, сортирует и выводит отсортированный и ранжированный вектор с исходным расположением значений. Например: Ввод: [10,332,42,0,9,0] Вывод: [3, 5, 4, 2, 1] Я использовал этот вопрос...
3844 просмотров
schedule 15.06.2023