Описание тега subscript-operator

4 ответа

Перегрузка оператора индекса класса для доступа к элементам объекта std::vector

Я анализирую текстовый файл для чтения переменных из него. Наличие переменных в файле важно, поэтому я решил написать шаблонный класс, который будет содержать оба значения переменной (Value) и флаг его существования (Exists). template<class Type&…
2 ответа

Оператор C++ Subscript

Я написал код, но он не работает. Каждый раз, когда я запускаю программу, я получаю эту ошибку Ошибка проверки времени выполнения № 2 - стек вокруг переменной 'ary' поврежден в любом случае вот мой код (это маленький код) #include <iostream> u…
3 ответа

Концы std::strings заканчиваются на '\0' при инициализации строковым литералом?

Я знаю, что строковые объекты не заканчиваются нулем, но почему это должно работать? std::string S("Hey"); for(int i = 0; S[i] != '\0'; ++i) std::cout << S[i]; Таким образом, конструктор также копирует нулевой терминатор, но не увеличивает дли…
21 ноя '16 в 09:17
1 ответ

Недопустимое использование нестатического члена данных (массив)

Я очень плохо знаком с C++, так что это может быть довольно нудистской проблемой, но у меня проблемы с поиском решения. Я искал ответ, и TA, кажется, имеет логически эквивалентный, но загадочно работающий код, и мы не можем понять, почему. Я пытаюсь…
2 ответа

Как подписать текст на спиннер в Android?

Я использую счетчик с некоторым текстом (String), и я хотел бы написать химическое выражение MgCl2 с номером 2 подписанным. Как мне это сделать? Я видел некоторые посты, рассказывающие об использовании Html.fromHtml(), но AndroidStudio говорит, что …
12 янв '17 в 20:29
1 ответ

Ошибка индексации индекса Swift?

Я выделил некоторый код Swift из своего проекта, который можно вставить в игровую площадку. Это выдает ошибку "Не удалось найти перегрузку для" + ", которая принимает предоставленные аргументы" как в обычном редактировании Xcode, так и на игровой пл…
4 ответа

Почему оператор printf в приведенном ниже коде печатает значение, а не мусор?

int main(){ int array[] = [10,20,30,40,50] ; printf("%d\n",-2[array -2]); return 0 ; } Кто-нибудь может объяснить, как работает -2[массив-2] и почему [ ] используется здесь? Это был вопрос в моем назначении, он выдает " -10 ", но я не понимаю, почем…
4 ответа

Перегрузка подстрочного оператора "["

Я пытаюсь перегрузить оператор индекса ("[") для пользовательского класса, который я создал. Я пытаюсь понять, как справиться со следующими проблемами. Как вы можете выяснить, находится ли оператор на левом или правом ходу? т.е. a[x] = foo против fo…
4 ответа

Операторы индекса для класса с переменной члена std::map

Я пытаюсь создать класс, который упаковывает std:: map и выполняет проверку, чтобы убедиться, что ключи являются одной из утвержденных допустимых строк, а также инициализирует карту, чтобы иметь значения по умолчанию для всех утвержденных допустимых…
20 фев '12 в 06:58
1 ответ

Перегрузка оператора нижнего индекса: возвращение проблем со ссылками

Я перегружаю оператор нижнего индекса в первый раз, и у меня возникают проблемы с возвратом ссылочного значения.Я следовал эмпирическим правилам из поста в тэге C++faq, но кое-что мне не хватает. const T& operator[](int index) const { if ((index…
1 ответ

Как избежать временной переменной в операторе подписки

У меня есть класс v, который динамически выделяет массив двойников. Записи - это указатель на начало этого массива. Интервал позволяет мне пропускать записи, например, если бы я хотел рассмотреть только каждую третью запись, интервал был бы равен 3.…
18 окт '11 в 16:07
5 ответов

C++ массивы в качестве параметров, EDIT: теперь включает переменную область видимости

Хорошо, я предполагаю, что это простой вопрос, поэтому я постараюсь, но я не могу найти то, что мне нужно, в Google или SO. Я хотел бы создать массив в одном месте и заполнить его внутри другой функции. Я определяю функцию: void someFunction(double …
27 апр '10 в 23:16
2 ответа

Какой тип C++ ожидает для индексов массива?

В С, массив подписки: a[b] это просто синтаксический сахарный эквивалент разыменования после арифметики указателя: *(a+b) (как объяснили, скажем, здесь). Как интерпретируется подписка на массив в C++ для базовых типов? (Не для классов, для которых у…
1 ответ

Как определить тип возврата оператора индексации данного типа массива с boost?

Какую сигнатуру типа мне нужно использовать, если я хочу определить тип, возвращаемый оператором индекса (массива) с использованием boost? Обратите внимание, что массивы, для которых я буду использовать это, не содержат typedefs и являются сторонним…
16 авг '10 в 16:50
1 ответ

Перегрузка оператора индекса в пользовательском классе C++

Рассмотрим следующий класс: class SocialPrefNode{ public: // Constructors & Destructor SocialPrefNode( ); SocialPrefNode( char self, int ind, int link, bool stack, std::vector<SocialPrefNode*> pref, std::vector<SocialPrefNode*> worse…
17 ноя '18 в 18:03
1 ответ

Хорошее поведение для индекса

Я создаю расширение для String, и я пытаюсь решить, каким будет правильное / ожидаемое / хорошее поведение для оператора индекса. В настоящее время у меня есть это: // Will crash on 0 length strings subscript(kIndex: Int) -> Character { var index…
12 апр '16 в 18:28
2 ответа

ostream& не называет ошибку типа. Что я здесь не так делаю?

Я ученик. Я работаю над перегрузкой оператора. Я пытаюсь написать код для перегрузки [] и распечатать элементы в массиве членов. Но когда я перегружаю << для печати массива-члена, я получаю ошибку, ostream & не имеет типа. Что я здесь не так делаю? …
3 ответа

Подписка на массив: возвращение ссылки на метод класса прокси

При поиске методов перегрузки оператора Subscript('[]') для шаблонного класса я натолкнулся на два разных метода. Первая Техника: Перегрузка operator [] возврат указателя на контейнер напрямую, что позволит как считывать значение, так и присваивать …
1 ответ

Тип структуры "не предоставляет оператор нижнего индекса"

Я пытаюсь прочитать значения из файла в массив структур. Тем не менее, я продолжаю получать ошибки компилятора, которые говорят мне, что моя структура, Books, не предоставляет подстрочный оператор, и я потерян. Структура содержится в заголовочном фа…
1 ответ

Оператор const и перегрузки

У меня есть общий объект карты. Я хочу перегрузить оператор [] так map[key] вернуть значение ключа. Я сделал две версии подстрочного оператора. неконстантная: ValueType&amp; operator[](KeyType key){ Const: const ValueType&amp; operator[]( KeyType&am…