const- все статьи тега


Служат ли const char * и strdup одной и той же функции при использовании с getopt в C?

В приведенном ниже фрагменте кода могу ли я заменить char * на const char * и удалить вызов функции strdup () и непосредственно принять значение optarg, установленное getopt ()? Я советую использовать const char *, чтобы пропустить использование функции strdup. Заранее благодарен за помощь. /* Code Snippet */ char *dir = NULL; char *bld = NULL; int chr; while ( ( chr = getopt( argc, argv, "d:a:b:f:" ) ) != -1 ) { switch ( chr ) { case 'd': //Directory parameter dir = strdup( optarg ); ...

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

У меня есть унаследованная функция, которая выглядит следующим образом: int Random() const { return var_ ? 4 : 0; } И мне нужно вызвать функцию в этом устаревшем коде, чтобы она теперь выглядела так: int Random() const { return var_ ? newCall(4) : 0; } Проблема в том, что я получаю эту ошибку: In member function 'virtual int Random() const': class.cc:145: error: passing 'const int' as 'this' argument of 'int newCall(int)' discards qualifiers Теперь я знаю, что для исправления это ...

C / C++ изменение значения константы

У меня была статья, но я ее потерял. Он показал и описал пару трюков C/C++, которые люди должны быть осторожны. Один из них заинтересовал меня, но теперь, когда я пытаюсь его скопировать, я не могу его скомпилировать. Концепция состояла в том, что можно случайно изменить значение a const в C / C++ Это было примерно так: const int a = 3; // I promise I won't change a const int *ptr_to_a = &a; // I still promise I won't change a int *ptr; ptr = ptr_to_a; (*ptr) = 5; ...

C#: статический Guid в качестве аргумента атрибута

Как я могу использовать статический Guid в качестве аргумента в атрибуте? static class X { public static readonly Guid XyId = new Guid("---"); } [MyAttribute(X.XyId)] // does not work public class myClass { } Это не работает, потому что Guid должен быть только для чтения, он не может быть const. Представление string и byte[] также будет доступно только для чтения. Есть ли обходной путь для этого? ...

В чем разница между константный инт*, константный тип int * const и int строительства *?

Я всегда путаю, как использовать const int*,const int * const и int const * правильно. Есть ли набор правил, определяющих, что вы можете и не можете сделать? Я хочу знать все do и все don'T с точки зрения заданий, перехода к функциям и т. д. ...

Как преобразовать std:: string в const char* или char*?

как я могу преобразовать std::string до char* или const char*? ...

C++ статическая постоянная строка (член класса)

Я хотел бы иметь частную статическую константу для класса (в данном случае shape-factory). Я бы хотел иметь нечто подобное. class A { private: static const string RECTANGLE = "rectangle"; } к сожалению, я получаю всевозможные ошибки от компилятора C++ (g++), такие как: ISO C++ запрещает инициализацию член 'прямоугольник' недопустимая инициализация в классе статического элемента данных нецелого типа 'std:: string' ошибка: создание " прямоугольника’ статика Это говор ...

Соглашение об именах C# для констант?

private const int THE_ANSWER = 42; или private const int theAnswer = 42; лично я думаю, что с современными IDE мы должны пойти с camelCase, так как ALL_CAPS выглядит странно. А ты как думаешь? ...

Const в javascript? Когда его использовать и нужно ли

Я недавно наткнулся на const ключевое слово в javascript. Из того, что я могу сказать, он используется для создания неизменяемых переменных, и я проверил, чтобы он не мог быть переопределен (в узле.js): const x = 'const'; const x = 'not-const'; // Will give an error: 'constant 'x' has already been defined' Я понимаю, что он еще не стандартизирован во всех браузерах - но меня интересует только контекст node.js / v8, и я заметил, что некоторые разработчики / проектов кажется, в пользу его силь ...

В чем разница между char * const и const char *?

в чем разница между: char * const и const char * ...

Почему JSHint выдает предупреждение, если я использую const?

это ошибка, которую я получаю при использовании const: <error line="2" column="1" severity="warning" message="&apos;const&apos; is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" /> мой код выглядит так: const Suites = { Spade: 1, Heart: 2, Diamond: 3, Club: 4 }; код работает нормально только JSHint предупреждает меня каждый раз. ...

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

почему нельзя получить неконстантную ссылку на временный объект, какая функция getx() возвращает? Очевидно, что это запрещено стандартом C++ но меня интересует цель такого ограничения -не ссылки стандартные. struct X { X& ref() { return *this; } }; X getx() { return X();} void g(X & x) {} int f() { const X& x = getx(); // OK X& x = getx(); // error X& x = getx().ref(); // OK g(getx()); //error g(getx().ref()); //OK return 0; } понятн ...

Какой смысл в указателях const?

Я не говорю о указателях на значения const,но сами указатели const. Я изучаю C и C++ за пределами самого основного материала, и только до сегодняшнего дня я понял, что указатели передаются по значению в функции, что имеет смысл. Это означает, что внутри функции я могу сделать скопированный указатель на какое-то другое значение, не затрагивая исходный указатель от вызывающего объекта. Итак, какой смысл иметь заголовок функции, который говорит: void foo(int* const ptr); внутри такой функции ...

В чем разница между итератором const и неконстантным итератором в C++ STL?

в чем разница между const_iterator и iterator и где бы вы использовать один над другим? ...

Как инициализировать частную статическую карту const в C++?

мне нужен только словарь или ассоциативный массив string=>int. для этого случая есть тип map C++. но мне нужна только одна карта для всех экземпляров (- >static) и эта карта не может быть изменена (- >const); Я нашел этот способ с boost library std::map<int, char> example = boost::assign::map_list_of(1, 'a') (2, 'b') (3, 'c'); есть ли другое решение без этого lib? Я пробовал что-то вроде этого, но всегда есть некоторые проблемы с инициализацией карты. class myClass{ ...

Почему функция-член const может изменять статический элемент данных?

в следующем C++ программа, модифицирующая a статический элемент данных С работает: class A { public: static int a; // static data member void set() const { a = 10; } }; но изменение a нестатический член данных С ...

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

#include <iostream> using namespace std; class T1 { const int t = 100; public: T1() { cout << "T1 constructor: " << t << endl; } }; когда я пытаюсь инициализировать переменную-член const t С 100. Но это дает мне следующую ошибку: test.cpp:21: error: ISO C++ forbids initialization of member ‘t’ test.cpp:21: error: making ‘t’ static как я могу инициализировать const значение? ...

const char* и char const* - это одно и то же?

насколько я понимаю, const модификаторы должны быть прочитаны справа налево. Из этого я получаю следующее: const char* - это указатель, элементы char которого не могут быть изменены, но сам указатель может, и char const* постоянный указатель на mutable chars. но я получаю следующие ошибки в следующем коде: const char* x = new char[20]; x = new char[30]; //this works, as expected x[0] = 'a'; //gives an error as expected char const* y = new char[20]; y = new char[20]; //this ...

Дает ли const-корректность компилятору больше возможностей для оптимизации?

Я знаю, что это улучшает читаемость и делает программу менее подверженным ошибкам, но насколько это улучшит производительность? и на боковой ноте, в чем основное различие между ссылкой и const указатель? Я предполагаю, что они хранятся в памяти по-разному, но как так? ...

Возвращает ссылку на объект, а не копия

во время рефакторинга некоторого кода я наткнулся на некоторые методы getter, которые возвращают std::string. Что-то вроде этого например: class foo { private: std::string name_; public: std::string name() { return name_; } }; конечно, геттер будет лучше возвращать a const std::string&? Текущий метод возвращает копию, которая не так эффективно. Будет ли возврат ссылки const вместо этого вызывать какие-либо проблемы? ...