// Example program
#include
#include
#include
using namespace std;
int main()
{
vector v {1,2,3};
vector ::iterator v_i1 = v.begin();
vector ::iterator &v_i2 = v.begin(); // error out - initial value of reference to non-const must be an lvalue
}
Понимание:
v.begin() вернет итератор, который на самом деле является объектом.
v_i1 переменная инициализируется с помощью итератора, возвращаемого функцией Begin(). Нет проблем
Если Begin() возвращает итератор (объект здесь??), почему его нельзя присвоить ссылке v_i2? Это потому, что метод Begin() возвращает значение r?
Предположительно, у нас есть следующее: [code]// Example program #include #include #include using namespace std;
int main() { vector v {1,2,3}; vector ::iterator v_i1 = v.begin(); vector ::iterator &v_i2 = v.begin(); // error out - initial value of reference to non-const must be an lvalue } [/code] Понимание: [list] [*]v.begin() вернет итератор, который на самом деле является объектом. [*]v_i1 переменная инициализируется с помощью итератора, возвращаемого функцией Begin(). Нет проблем [*]Если Begin() возвращает итератор (объект здесь??), почему его нельзя присвоить ссылке v_i2? Это потому, что метод Begin() возвращает значение r? [/list] Спасибо, что помогли мне лучше понять.
Я пытаюсь получить четкое представление о некоторых фундаментальных концепциях Python, особенно связанных с классами и объектами. Хотя у меня есть базовое понимание, терминология иногда меня смущает. Вот термины, с которыми я борюсь:
Я не уверен, почему я могу повторить объект, который не является итератором?
>>> import spacy
>>> nlp = spacy.load( en_core_web_sm )
>>> doc = nlp( Berlin looks like a nice city )
>>> next(doc)
Traceback (most recent call last):
File , line 1, in...
Если подкласс Extens Superclass , итератор не может быть поднят в итератор . Тем не менее, у меня есть ситуация, в которой требуются интерфейсыIterator
public Iterator list(String keyword) {
Collection result = service.searchByKeyword(keyword);...