Лучшие const-correctness вопросы ИТ разработчиков

  • 35 голосов
  • 14 ответов
  • 0 просмотров
14 ответов

Почему const-правильность специфична для C ++?

Отказ от ответственности: я знаю, что есть два вопроса о полезности const-правильности, однако ни один не обсуждал, как const-правильность необходима в C ++в отличие от других языков программирования. Кроме того, я не удовлетворен ответами на эти ...

Задан 02 Sep 2009, 20:53 от Asik
  • 51 голос
  • 5 ответов
  • 0 просмотров
5 ответов

Тип указателя только для записи

Я пишу программное обеспечение для встроенной системы. Мы используем указатели для доступа к регистрам устройства FPGA. Некоторые из регистров доступны только для чтения, а другие только для записи. Регистры только для записи будут давать ...

Задан 17 Apr 2013, 00:12 от Thomas Matthews
  • 7 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Разрешено ли модифицировать динамически размещаемый объект const с помощью повторно используемого имени, не являющегося const?

Рассмотрим следующую программу:

Задан 02 Apr 2014, 10:08 от Lightness Races in Orbit
  • 17 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Может ли объект, выделенный в куче, быть константным в C ++?

В C ++ объект, выделенный из стека, может быть объявленconst: const Class object;после этого попытка вызова неконстантного метода для такого объекта является неопределенным поведением: const_cast<Class*>( &object )->NonConstMethod(); //UBМожет ...

Задан 18 Dec 2009, 10:45 от sharptooth
  • 7 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Когда функция-член должна иметь квалификатор const, а когда - нет?

Около шести лет назад инженер-программист по имени Харри Портен написалЭта статья, задавая вопрос: «Когда функция-член должна иметь квалификатор const, а ког...

Задан 17 Mar 2010, 14:21 от SCFrench
  • 8 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

о константной функции-члену [дубликата]

На этот вопрос уже есть ответ: Что означает const в конце функции-члена? [Дубликат] [/questions/4059932/what-is-the-meaning-of-a-const-at-end-of-a-member-function] 3 ответа Я встретил два объяснения функции-члена const class A{ public: ... ...

Задан 27 Dec 2009, 16:29 от skydoor
  • 110 голосов
  • 16 ответов
  • 0 просмотров
16 ответов

Продай меня по правильности

Так почему же всегда рекомендуется использовать const как можно чаще? Мне кажется, что использование const может быть более болезненным, чем помощь в C ++. Но опять же, я подхожу к этому с точки зрения питона: если вы не хотите, чтобы что-то ...

Задан 25 Sep 2008, 23:34 от Jason Baker
  • 10 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Может ли объект знать свою собственную константность?

С участиемdecltype а такжеstd::is_const константность переменной может быть обнаружена извне.Но возможно ли, чтобы объект знал свою собственную постоянство? Использование должно быть как: #include <type_traits> #include <iostream> #include <ios> ...

Задан 07 Mar 2013, 19:00 от TemplateRex
  • 36 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Это на самом деле неверно. Это не мешает людям использовать его как lvalue. Это мешает людям использовать его как неконстантный объект. Это две совершенно разные вещи.

но я прочитал, что при возврате по значению из функции имеет смысл квалифицировать возвращаемый тип const для не встроенных типов, например: const Result operation() { //..do something.. return Result(..); }Я изо всех сил пытаюсь понять ...

Задан 09 Jun 2011, 22:15 от Graeme
  • 6 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Как бороться с инициализацией неконстантного ссылочного члена в константном объекте?

Допустим, у вас есть класс class C { int * i; public: C(int * v):i(v) {}; void method() const; //this method does not change i void method(); //this method changes i }Теперь вы можете определить const экземпляр этого класса const int * k = ...

Задан 09 Nov 2009, 05:59 от doc
  • 36 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

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

Что касается интеллектуальных указателей и новых функций C ++ 11/14, мне интересно, каковы оптимальные возвращаемые значения и типы параметров функций для кл...

Задан 03 Feb 2015, 08:44 от Malvineous
  • 16 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

 в конце типа возврата, но я не был уверен, были ли какие-либо из предложений там действительно приняты. Спасибо за хороший ответ. К счастью (согласно комментарию Cubby), GCC, кажется, хорошо справляется с этой задачей, поскольку версия 4.7 уже учитывает это изменение.

довольствием экспериментировал с новыми типами конечного возврата, где столкнулся с проблемой этого (упрощенного) кода #include <list> class MyContainer{ std::list<int> ints; auto begin( ) -> decltype(ints.begin()) { return ints.begin(); } auto ...

Задан 31 Aug 2011, 10:00 от Ken Wayne VanderLinde
  • 25 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Const правильность для значений параметров

Я знаю, что мало вопросов о правильности констант, когда утверждается, что для объявления функции и ее определения не нужно согласовывать значения параметров. Это связано с тем, что постоянство значения параметра имеет значение только внутри ...

Задан 12 Nov 2009, 17:42 от jmucchiello
  • 18 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Это не генератор случайных чисел, мне просто нужен пример для SO. Однако, спасибо

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

Задан 15 Feb 2011, 19:27 от Grammin
  • 10 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

«Const LPVOID» эквивалентен «void * const»?

И если так, то почему некоторые заголовки Win32 используют его? Например: BOOL APIENTRY VerQueryValueA( const LPVOID pBlock, LPSTR lpSubBlock, LPVOID * lplpBuffer, PUINT puLen );Немного сложнее: если API никогда не использует ссылки (или любые ...

Задан 27 Nov 2009, 12:24 от EFraim
  • 35 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Почему нет «const» в Python? [закрыто]

Я родом из C и изучаю Python. Отсутствие явной безопасности типов вызывает беспокойство, но я к этому привыкаю. Отсутствие встроенного контрактного программирования (чисто абстрактные классы, интерфейсы) - это то, к чему нужно привыкнуть, ...

Задан 25 Jun 2013, 07:42 от Vorac
  • 35 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Почему нет «const» в Python? [закрыто]

Я родом из C и изучаю Python. Отсутствие явной безопасности типов вызывает беспокойство, но я к этому привыкаю. Отсутствие встроенного контрактного программи...

Задан 25 Jun 2013, 05:42 от Vorac
  • 6 голосов
  • 8 ответов
  • 0 просмотров
8 ответов

Правильность констант: const char const * const GetName const (// stuff);

Помечено как домашнее задание, потому что это был вопрос в середине срока, я написал, что я нене понимаю ответ на. Меня попросили объяснить назначение каждог...

Задан 02 Dec 2009, 18:58 от user189320
  • 9 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

правильность const для структур с указателями

У меня есть структура, которая содержит несколько указателей. Я хочу, чтобы их значение не изменялось. Но просто писать const infront несделать элементы стру...

Задан 01 Nov 2012, 15:36 от monkeyking