0
ответов

Семантика констант для доступа к базе данных или файловой системе

Я регулярно использую константу при работе со структурами данных в памяти и сохраняю свой код константным, но я не уверен, как константа должна применяться к более сложным объектам, таким как следующее: объекты ...
вопрос задан: 11 January 2012 14:50
0
ответов

C++: Корректность Const и аргументы указателей

Я понимаю, что указатель const может быть объявлен несколькими способами: const int * intPtr1; // Объявляет указатель, который не может быть изменен. int * const intPtr2; // Объявляется указатель, содержимое которого не может быть ...
вопрос задан: 10 January 2012 19:40
0
ответов

Может ли функция const member вернуть неконст указатель на член данных?

Код идет первым: class A { public: ... int *foo() const { return _px; } private: int *_px; } Функция-член foo возвращает неconst ...
вопрос задан: 9 January 2012 13:22
0
ответов

Построение const объекта

C++11 §12.1/14: Во время построения const объекта, если доступ к значению объекта или любого из его подобъектов осуществляется через lvalue, которое не получено, прямо или косвенно, из ...
вопрос задан: 5 January 2012 07:30
0
ответов

Не «Const» избыточно при передаче по значению? [дубликат]

Я читал свою книгу по C ++ (Deitel), когда наткнулся на функцию для вычисления объема куба. Код следующий: двойной куб (const double side) {обратная сторона * сторона * сторона; } The ...
вопрос задан: 3 January 2012 15:16
0
ответов

Почему константа для неявного преобразования?

После подробного ознакомления с ISO / IEC 14882, Язык программирования - C ++, я все еще не понимаю, зачем нужна константа для неявного преобразования для пользователя -определенный тип с конструктором с одним аргументом, например ...
вопрос задан: 23 December 2011 06:20
0
ответов

Буквальные числа мутабельные или нет?

Естественно, это не скомпилируется: int &z = 3; // error: invalid initialization of non-const reference .... и это скомпилируется: const int &z = 3; // OK Теперь рассмотрим: const int y = 3; int &...
вопрос задан: 22 December 2011 02:35
0
ответов

Является ли приведение из (указатель на const) в (указатель на non-const) недействительным в c++?

Я уверен, что следующий код не должен компилироваться. Но в g++ он компилируется! Посмотрите, как он компилируется на http://codepad.org/MR7Dsvlz . Код: #include using namespace std; int ...
вопрос задан: 20 December 2011 03:12
0
ответов

Есть ли какая-либо выгода объявить константу в локальной области видимости в C #?

Есть ли какая-то польза от объявления локальной переменной как «const», если я знаю, что выиграл не че его значение? Спасибо,
вопрос задан: 19 December 2011 14:33
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
ответов

Объявить константный указатель на int?

В C ++ мы имеем следующее: int * p1; // указатель на int const int * p2; // указатель на константу int int * const p3; // постоянный указатель на int const int * const p4; // ...
вопрос задан: 16 December 2011 13:13
0
ответов

Является ли хорошей идеей максимально возможное сохранение «константности»?

Недавно я разработал практику превращения многих вещей в свой код как константы: (1) Аргументы функции, которые я знаю, что никогда не изменится. например: void foo (const int i, const string s) ...
вопрос задан: 16 December 2011 09:35
0
ответов

Инициализируйте статический константный нецелый член данных класса

Рассмотрим пример программы ниже: #include с использованием пространства имен std; тест класса {общедоступные: статические константные данные с плавающей запятой; }; float const test :: data = 10; // Line1 int main () {...
вопрос задан: 13 December 2011 14:01
0
ответов

Вектор структур с членами const?

Допустим, у меня есть #include #include <вектор> используя пространство имен std; struct Student {имя константной строки; int grade; Студент (константная строка и имя): имя (имя) {} }; ...
вопрос задан: 11 December 2011 22:17
0
ответов

Как определить const double внутри файла заголовка класса?

В файле заголовка моего класса я пробую следующее и получаю жалобы компилятора: private: static const double some_double = 1.0; Как вы должны это сделать?
вопрос задан: 9 December 2011 03:26
0
ответов

Почему константные переменные нужно инициализировать сразу?

Это общий вопрос программирования. Я изучаю C ++ и узнал, что любые константные переменные, например: const int i или int * const ptr, должны быть инициализированы сразу. Это также ...
вопрос задан: 9 December 2011 03:13
0
ответов

C ++ преобразовывает char в const char *

В основном я просто хочу перебрать строку символов, вытаскивая каждый из них, и каждый из них должен быть типа const char *, чтобы я мог передать его функции. вот пример. Спасибо за вашу помощь. ...
вопрос задан: 8 December 2011 20:15
0
ответов

Вернуть ссылку на переменную-член вектора

У меня есть вектор как член в классе, и я хочу вернуть ссылку на него через функцию getVector (), чтобы иметь возможность изменить его позже. Разве не лучше использовать функцию getVector () как ...
вопрос задан: 5 December 2011 10:56
0
ответов

"Discards qualifiers" error with virtual function and/or const in c++

Чем больше я изучаю эту проблему, тем больше запутываюсь. Это домашнее задание, в котором нужно дополнить код, данный нам профессором. Я знаю, что проблема связана с ...
вопрос задан: 4 December 2011 16:36
0
ответов

Можно ли преобразовать пару в пару ?

Итак, у меня есть умный итератор, который имитирует карту const_iterator, и ему необходимо внутренне построить возвращаемый тип. Очевидно, я хотел бы сохранить пару в моем классе итератора (поскольку я ...
вопрос задан: 2 December 2011 08:05
0
ответов

GLSL: Почему массив const int намного медленнее, чем обычный массив?

У меня есть шейдер OpenGL, написанный на glsl. У меня есть глобально определенный массив в верхней части заголовка, вот так: const int permutations[256] = int[256]( 64 , 34 , 36 , 137 , 120 , 122 , 246 , 46 , ...
вопрос задан: 1 December 2011 14:52
0
ответов

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

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

Ссылки на константы в шаблонах C ++

В шаблоне C ++ с универсальным типом T я могу использовать const T & для получения ссылки на константу T. Однако, если теперь T сам является ссылочным типом (например, T = int &), указанный выше термин разрешает ...
вопрос задан: 28 November 2011 21:49
0
ответов

Выделена ли память для статической константной переменной, адрес которой никогда не используется?

Если я никогда не использую адрес статической константной переменной, выделяется ли для нее память при использовании достаточно современного компилятора?
вопрос задан: 28 November 2011 00:01
0
ответов

Каково определение константной корректности?

Я думал, что понятие «константная корректность» довольно хорошо определено, но когда я говорил об этом с другими людьми, казалось, у нас были разные представления о том, что это значит. Некоторые люди говорят, что это о ...
вопрос задан: 26 November 2011 10:29
0
ответов

Можно ли использовать указатель на функцию с аргументом const в качестве функции указатель с неконстантным аргументом?

Возможно, заголовок сам по себе непонятен ... У меня есть функция f (предоставленная какой-то библиотекой), которая принимает в качестве аргумента указатель на функцию с подписью void g ( int *), т.е. void f (void (* g) (int *)); ...
вопрос задан: 23 November 2011 00:10
0
ответов

Как предотвратить инициализацию const-переменной по умолчанию с помощью типа класса

У меня есть пользовательский класс, который я хочу вести себя как встроенный тип. Однако я заметил, что можно инициализировать const-переменную этого класса без указания начального значения. В настоящее время мой класс ...
вопрос задан: 18 November 2011 12:19
0
ответов

НЕ самая важная константа .. но что это?

Это выводит F ~, но я ожидал ~ F #include struct Foo {int _x; оператор const int & () const {return _x;} ~ Foo () {std :: cout << "~";} }; void foo (...
вопрос задан: 15 November 2011 17:53
0
ответов

почему нельзя создать константный объект пустого класса

#include class A {public: void foo () const {std :: cout << "const версия foo "<< std :: endl; } void foo () {std :: cout << ...
вопрос задан: 11 November 2011 11:01
0
ответов

неинициализированная const

Это прекрасно компилируется с текущим компилятором MSVC: struct Foo { } const foo; Однако он не может быть скомпилирован с текущим компилятором g ++: ошибка: неинициализированная const 'foo' [-fpermissive] ...
вопрос задан: 11 November 2011 10:30