|
|
|
Материалы книги получены с http://www.itlibitum.ru/
Курсоры
В предыдущем разделе мы говорили о присваивании элементам массива. Для массива Foo* все прекрасно работало, но попытка присвоить что-нибудь «элементу» строковой ассоциации кончается неудачей.
association[String("Hello")] = String("Good looking");
Дело в том, что левая часть не является ни левосторонним выражением (lvalue), ни классом с
перегруженным оператором =. В этом случае можно сконструировать аргумент с использованием интерфейса вставки в коллекцию на базе функций класса, поскольку это все-таки не настоящий массив, а нечто загримированное под него с помощью оператора []. Многие классы, перегружающие оператор [], с точки зрения семантики являются массивами, но используют хитроумные структуры данных для оптимизации. Давайте рассмотрим конкретный пример (разреженные массивы), а затем вернемся к более общим коллекциям (таким как ассоциации).
Назад Содержание Далее
|
|
|