0
ответов

boost ::необязательный, не позволяющий мне переназначать константные типы значений

Мне кажется, должно быть четыре варианта boost ::необязательный необязательный => содержит изменяемый Foo и может быть переназначен после инициализации option const => содержит константу...
вопрос задан: 23 May 2017 12:23
0
ответов

Чем const-объект, выделенный из кучи, отличается от неконст-объекта?

В C++ можно выделить const-объект на куче: const Class* object = new const Class(); const_cast( object )->NonConstMethod(); // UB, чтобы попытка записи в ...
вопрос задан: 23 May 2017 11:55
0
ответов

Есть ли какой-нибудь ниндзя-трюк, чтобы сделать переменную постоянной после ее объявления?

Я знаю, что ответ - 99,99% нет, но я решил, что стоит попробовать, никогда знать. void SomeFunction (int a) {// Здесь происходит некоторая обработка a, например: a * = 50; а% = 10; if (...
вопрос задан: 23 May 2017 11:54
0
ответов

Подрывает ли этот код систему типов C++?

Я понимаю, что наличие метода const в C++ означает, что объект читается -только с помощью этого метода, но в противном случае он может измениться. Однако этот код, по-видимому, изменяет объект через...
вопрос задан: 23 May 2017 11:49
0
ответов

Константная корректность в C #с расширенными типами

Имея опыт работы с C++ и пытаясь изучить C #, одно из самых досадных языковых упущений, с которыми я сталкивался, — это эквивалент ключевого слова const. Итак, я пытался уладить...
вопрос задан: 23 May 2017 10:34
0
ответов

Имеют ли ссылочные переменные членов класса встроенную «правильность констант»?

struct A {int & r; A (int & i): r (i) {} void foo () const {r = 5; // <--- ok}}; Компилятор не генерирует никаких ошибок при r = 5 ;. Значит ли это, что & r уже ...
вопрос задан: 23 May 2017 10:34
0
ответов

Перегрузка операторов преобразования C++

Я пытаюсь создать класс, который допускает неявное приведение к определенным встроенным типам, таким как unsigned long int, и, поскольку я пытаюсь сделать это максимально корректно (, это мой первый важный проект в...
вопрос задан: 16 April 2016 13:11
0
ответов

Каков наилучший тип возврата интеллектуального указателя для заводской функции?

Что касается интеллектуальных указателей и новых функций C ++ 11/14, мне интересно, какие оптимальные возвращаемые значения и типы параметров функций будут для классов, которые имеют следующие возможности: Фабрика ...
вопрос задан: 3 February 2015 08:44
0
ответов

Постоянный вектор неконстантных объектов

При определении функции в интерфейсе: virtual void ModifyPreComputedCoeffs (std :: vector & model_) = 0; мы хотим указать, что векторная модель_ не должна быть ...
вопрос задан: 3 December 2014 00:27
0
ответов

Const -корректность в C

По-видимому, хорошей практикой является использование const, если только что-то не должно быть изменчивым, но как далеко вы зайдете? Если у меня есть массив строк, должна ли моя сигнатура функции включать это? char const *const...
вопрос задан: 25 August 2012 14:59
0
ответов

В чем причина cbegin/cend?

Интересно, почему cbegin и cend появились в C++11? В каких случаях вызов этих методов отличается от константных перегрузок begin и end?
вопрос задан: 16 August 2012 20:28
0
ответов

Указатель массива const на константные значения

Если я создам глобальный массив константных значений, например. const int НЕКОТОРЫЕ _СПИСОК[НЕКОТОРЫЕ _СПИСОК _РАЗМЕР] = {2, 3, 5, 7, 11}; возможно ли каким-либо образом изменить НЕКОТОРЫЙ _СПИСОК? Как я могу написать это так, чтобы...
вопрос задан: 7 August 2012 17:13
0
ответов

Что означает указатель на константную функцию?

Указатели могут быть объявлены как указывающие на изменяемые (не-константные)данные или указатели на константные данные. Указатели могут быть определены для указания на функцию. Мои коллеги и я обсуждали использование "const"...
вопрос задан: 13 April 2012 19:33
0
ответов

Почему нет понятия «const -правильности» для статических функций-членов class& #39;s?

Вариант использования :class A { static int s _common; public :static int getCommon ()const { s _common; }; }; Обычно это приводит к ошибке как :ошибка :статическая функция-член 'static int A ::getCommon ()...
вопрос задан: 11 April 2012 06:16
0
ответов

Типы возвратов трейлинга, decltype и const-ness

Я весело экспериментировал с новыми типами возвратов трейлинга, где столкнулся с проблемой этого (упрощённого) кода #include class MyContainer{ std::list ints; auto begin( )...
вопрос задан: 27 January 2012 19:53
0
ответов

Вызов неконстантного метода на члене из const-метода

Я был удивлен, обнаружив эту "дыру" в "константности": #include class A { int r ; public: A():r(0){} void nonconst() { puts( "I am in ur nonconst method" ) ; r++; } } ...
вопрос задан: 19 December 2011 05:06
0
ответов

Как вызвать неконстантный метод из константного метода?

У меня есть константный метод в моем классе, который нельзя изменить на неконстантный. В этом методе мне нужно вызвать неконстантный метод, но компилятор не позволяет мне это сделать. Есть ли способ обойти это? Здесь ...
вопрос задан: 30 November 2011 11:43
0
ответов

Как вызвать неконстантную функцию в константной функции (C ++)

У меня есть устаревшая функция, которая выглядит так: int Random () const {return var_? 4: 0; } и мне нужно вызвать функцию в этом устаревшем коде, чтобы теперь она выглядела так: int Random () const ...
вопрос задан: 4 November 2011 19:44
0
ответов

Стоит ли вставлять `const`-корректность

В настоящее время я столкнулся с проектом C ++, написанным некоторыми старшими программистами, состоящим из примерно 400 файлов и 200 классов. Код хорошо проработан, работает нормально и стабильно. Пока я добавляю ...
вопрос задан: 30 September 2011 05:00
0
ответов

const-corrective and safe bool idiom

У меня есть еще один вопрос, связанный с идиомой safe bool: typedef void (Testable :: * bool_type) () const; // const необходимо? void this_type_does_not_support_comparisons () const {} // const ...
вопрос задан: 11 August 2011 15:00
0
ответов

Qt - QList const корректность

QList не может быть легко const-правильным. Рассмотрим функцию void f (список QList ) {список [0] -> constFunction (); } Я могу заменить f на void f (список QList ), но ...
вопрос задан: 26 June 2011 10:37
0
ответов

Каковы случаи использования функции возврата по константному значению для не встроенного типа?

Недавно я прочитал, что имеет смысл при возврате по значению из функции квалифицировать возвращаемый тип const для не встроенных типов, например: const Result operation () {//..do some .. ...
вопрос задан: 9 June 2011 22:15
0
ответов

это хорошая практика - добавлять константу в конце функций-членов - где это возможно?

Это хорошая практика, в C ++ добавлять const в конце определения функции-члена каждый раз, когда функция не изменяет объект, т. е. каждый раз, когда функция «подходит» для const? Я знаю ...
вопрос задан: 16 May 2011 08:53
0
ответов

Загнано в угол const: std :: map :: find () const overload

Рассмотрим следующий фрагмент: #include class C { public: C () {} const int & f (const int & x) const {// Ошибка: невозможно преобразовать const int * в int * const ...
вопрос задан: 30 April 2011 23:06
0
ответов

Должен ли я объявить какой-либо метод, который может быть константным, как константный метод

Простой вопрос. Должен ли я объявить какой-либо метод, который может быть константным, константным? Сюда входят методы, которые не возвращают никаких переменных-членов, или вернуть константные ссылки на переменные-члены. Есть ...
вопрос задан: 18 April 2011 20:03
0
ответов

Почему g ++ и MS Visual Studio C ++ выполняют следующий код иначе?

Мне сложно понять, кто здесь виноват (если таковой имеется). Следующий код в g ++ выполняется иначе, чем в MS Visual Studio C ++. #include int main () ...
вопрос задан: 18 April 2011 04:31
0
ответов

Полезен ли const_cast ?

Недавно я нашел фрагмент кода C ++, который эффективно выполняет следующие действия: char * указатель = ...; const char * constPointer = const_cast (указатель); Очевидно автор думал, что ...
вопрос задан: 16 March 2011 10:54
0
ответов

C ++ избегает дублирования кода для const и неконстантное посещение

У меня есть класс, который должен вызывать метод посетителя для каждой переменной-члена. Примерно так: class A {int a, b, c; общедоступный: недействительный прием (Посетитель и посетитель) {visitor.visit (a); ...
вопрос задан: 9 March 2011 21:39
0
ответов

Ленивое вычисление и проблемы с корректностью констант

Я создал класс камеры openGL, который использует отложенное вычисление для получения окончательной проекции или матриц проекции модель-вид-проекция через функции получения. Пользователь предоставляет различные камеры ...
вопрос задан: 20 December 2010 22:16
0
ответов

Логическая константа в D

D имеет два типа констант: неизменяемые переменные - это те, которые были объявлены неизменными, и всегда будут неизменными, тогда как константные переменные - это просто версии объекта только для чтения. . Логическая константа ...
вопрос задан: 18 November 2010 21:09