Запитання з тегом «const»

Константи програмування - це визначення, значення яких фіксується впродовж виконання програми. Літерали на більшості мов, наприклад, константи. У референційно прозорих стилях програмування всі визначення є постійними. Область зберігання даних, що відповідає вимогам const (об'єкт, поле, змінна, параметр) - це те, що "ніколи не змінюється", що дозволяє додатково оптимізувати генератор коду та додаткову статичну перевірку правильності програми.


3
Як сортувати з лямбда?
sort(mMyClassVector.begin(), mMyClassVector.end(), [](const MyClass & a, const MyClass & b) { return a.mProperty > b.mProperty; }); Я хотів би використовувати функцію лямбда для сортування спеціальних класів замість прив'язки методу екземпляра. Однак наведений вище код дає помилку: помилка C2564: 'const char *': перетворення стилю функції у вбудований тип може приймати лише …
136 c++  sorting  lambda  char  const 

4
Скільки і для чого використовує “const” у C ++?
Як початківець програміст на C ++, є деякі конструкції, які мені здаються дуже незрозумілими, одна з них - це const. Ви можете використовувати його в дуже багатьох місцях і з такою кількістю різних ефектів, що початківцю практично неможливо вийти живим. Чи пояснить якийсь гуру С ++ один раз назавжди різні …
129 c++  const 

3
Перейдіть до іменування умов для const
Я намагаюся визначити, чи існує constугода про іменування імен в Голанг. Я особисто схильний дотримуватися стилю C і писати їх у верхньому регістрі, але я не знайшов нічого на цій сторінці http://golang.org/doc/effective_go.html, що, схоже, перелічує деякі умови іменування мови.

9
'const int' vs. 'int const' як параметри функції в C ++ та C
Поміркуйте: int testfunc1 (const int a) { return a; } int testfunc2 (int const a) { return a; } Ці дві функції однакові у кожному аспекті чи є різниця? Мене цікавить відповідь на мові С, але якщо в мові С ++ є щось цікаве, я також хотів би це знати.
116 c++  c  const 

4
Різниця між `const shared_ptr <T>` та `shared_ptr <const T>`?
Я пишу метод аксесуара для спільного вказівника на C ++, який виглядає приблизно так: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr&lt;Bar&gt; m_bar; } Отже, для підтримки константності getBar()повернення типу повинно бути таке, boost::shared_ptrщо не дозволяє модифікувати Barйого, на які вказує. Я здогадуюсь , що …
116 c++  boost  const  shared-ptr 



5
C ++ карта відкидає класифікатори доступу (const)
Наступний код каже , що проходячи карту , як constв operator[]відбіркові метод відкидає: #include &lt;iostream&gt; #include &lt;map&gt; #include &lt;string&gt; using namespace std; class MapWrapper { public: const int &amp;get_value(const int &amp;key) const { return _map[key]; } private: map&lt;int, int&gt; _map; }; int main() { MapWrapper mw; cout &lt;&lt; mw.get_value(42) &lt;&lt; …
113 c++  stl  const  maps 

10
Як ініціалізувати приватну статичну карту const у C ++?
Мені потрібен лише словник чи асоціативний масив string=&gt; int. Для цього випадку існує карта типу C ++. Але мені потрібні лише один екземпляр карти для всіх (-&gt; статичний), і цю карту неможливо змінити (-&gt; const); Я знайшов цей спосіб за допомогою збільшити бібліотеку std::map&lt;int, char&gt; example = boost::assign::map_list_of(1, 'a') (2, …

10
Як ініціалізувати змінну const члена в класі?
#include &lt;iostream&gt; using namespace std; class T1 { const int t = 100; public: T1() { cout &lt;&lt; "T1 constructor: " &lt;&lt; t &lt;&lt; endl; } }; Коли я намагаюся ініціалізувати змінну члена const tіз 100. Але це дає мені таку помилку: test.cpp:21: error: ISO C++ forbids initialization of member …
105 c++  const 

7
Чому аргумент не є постійною?
int main( const int argc , const char[] const argv) Оскільки в пункті № 3 ефективного C ++ зазначено "Використовувати const, коли це можливо", я починаю думати "чому б не зробити ці" постійні "параметриconst ". Чи є сценарій, коли значення програми argcзмінюється в програмі?
104 c++  const  main  argc  effective-c++ 

2
C ++ 0x захоплення лямбда за значенням завжди const?
Чи є спосіб зафіксувати значення і зробити захоплене значення не const? У мене є функціонер бібліотеки, який я хотів би захопити і викликати метод, який не є const, але повинен бути. Далі не компілюється, але примушує його виправити foo :: operator () const. struct foo { bool operator () ( …
102 c++  lambda  const  c++11 

7
Чому я можу змінити значення константи в javascript?
Я знаю, що ES6 ще не стандартизований, але в даний час багато браузерів підтримують const ключові слова в JS. У специфікації написано, що: Значення константи не може змінюватися шляхом повторного призначення, а константа не може бути повторно оголошена. Через це, хоча можливо оголосити константу, не ініціалізуючи її, робити це було …

4
C ++ доступ до елементу карти const
Я намагався використовувати оператор [] для доступу до елемента в const C ++ карті, але цей метод не вдався. Я також намагався використовувати "at ()", щоб зробити те саме. Це спрацювало цього разу. Однак я не зміг знайти жодної посилання на використання "at ()" для доступу до елемента в const …
100 c++  stl  map  const 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.