Вопросы по теме 'const-correctness'

Преобразование из foo‹T› в const foo‹const T› - C++
У меня есть такая функция (пожалуйста, не беспокойтесь о временном возврате по ссылке. Это просто пример для объяснения проблемы), const foo<const int>& get_const() { foo<int> f; return f; } Это явно не скомпилируется....
1640 просмотров

const правильность и возвращаемые значения - C++
Пожалуйста, рассмотрите следующий код. struct foo { }; template<typename T> class test { public: test() {} const T& value() const { return f; } private: T f; }; int main() { const...
1043 просмотров
schedule 04.02.2024

Ленивое вычисление и проблемы с правильностью констант
Я создал класс камеры openGL, который использует ленивую оценку для предоставления окончательной проекции или матриц проекции модель-вид-проекция через функции получения. Пользователь предоставляет различные параметры камеры на протяжении всего...
704 просмотров
schedule 10.08.2022

Мета-магия шаблонов C ++, механизм удержания квалификации на сайте вызова шаблона
Прошу прощения за многословие этого примера, я придумал его из проекта. Прокомментированные пункты 1 и два важны в следующем коде. #include <boost/intrusive/set.hpp> struct x : public boost::intrusive::set_base_hook<> { int y;...
383 просмотров

Что означает указатель на константную функцию?
Указатели могут быть объявлены как указывающие на изменяемые (неконстантные) данные или как указатели на постоянные данные. Указатели можно определить так, чтобы они указывали на функцию. Мои коллеги и я обсуждали использование «const» с...
26972 просмотров
schedule 17.05.2022

константная корректность для структур с указателями
У меня есть структура, которая содержит несколько указателей. Я хочу, чтобы их значение было неизменяемым. Но простое написание const впереди не делает элементы структуры неизменяемыми. typedef struct{ int *x; int *y; }point; void get(const...
12166 просмотров
schedule 03.12.2023

Как объявить постоянный изменяемый указатель на неизменяемый блок памяти
Мне интересно, как объявить, в основном, (a const pointer to (a mutable pointer to (a const type))) в C99. Скажем, у меня есть этот сайт вызова: const uint8_t* result; create(&result); Является ли void create(const uint8_t * const *...
287 просмотров
schedule 17.05.2024

Константная корректность для данных, обрабатываемых неконстантными классами
Я хочу использовать классо-ориентированный дизайн для эффективной и чистой обработки данных на встроенной платформе. Я не должен создавать новые объекты в стеке (или, по крайней мере, быть очень экономичным), поэтому я намереваюсь передать свои...
66 просмотров
schedule 11.08.2022

Обход проблемы с константной корректностью внешней библиотеки
Я использую внешнюю библиотеку C ++, в которой отсутствует константная корректность. Допустим, я работаю с объектами следующего класса: // Library.h namespace Library { class Message { public: std::string getData() { return data_;...
123 просмотров
schedule 09.07.2023

Как предоставить несколько начальных/конечных прокси для класса
Учитывая классы struct Data { void bar() const; void baz(); } class Foo { std::vector<Data> data; std::map<size_t, Data> indexed_data; } Я хотел бы реализовать что-то в классе Foo, чтобы я мог сделать следующее: int...
98 просмотров
schedule 04.01.2023