Вы можете использовать любой из них, но должны использовать те же клавиши tag
, которые были предоставлены во время обучения.
Так что, если ваши документы с тегами во время обучения имели строковый тег 'myDocTag'
, вы должны использовать model.docvecs['myDocTag']
.
Если вы явно указали простые теги int, вы можете использовать model.docvecs[12]
. (Но обратите внимание, что в таком случае вы должны быть осторожны при назначении смежных целых, начиная с 0.)
Вы не можете инициализировать размер массива с неконстантным измерением, которое не может быть вычислено при компиляции время (по крайней мере, в текущем стандарте C ++, AFAIK).
Я рекомендую использовать std :: vector
вместо массива. Он предоставляет синтаксис, похожий на массив, для большинства операций.
Use the new operator:
class Class
{
int* array;
Class(int x) : array(new int[x]) {};
};
Не думаю, что это можно сделать. По крайней мере, не так, как вы хотите. Вы не можете создать массив статического размера (array []), когда размер основан на динамической информации (x).
Вам нужно будет либо сохранить указатель на int и размер, и перегрузить копию конструктор, оператор присваивания и деструктор для его обработки или используйте std :: vector.
class Class
{
::std::vector<int> array;
Class(int x) : array(x) { }
};
Почему бы вместо необработанного массива не использовать вектор.
class SomeType {
vector<int> v;
SomeType(size_t x): v(x) {}
};
Использование вектора даст вам автоматическую защиту от утечек в случае исключения и многие другие преимущества по сравнению с необработанным массивом.
You can't do it in C++ - use a std::vector instead:
#include <vector>
struct A {
std::vector <int> vec;
A( int size ) : vec( size ) {
}
};
Declare your array as a pointer. You can initialize it in the initializer list later through through new.
Better to use vector for unknown size.
You might want to look at this question as well on variable length arrays.
Два варианта:
Использовать станд :: вектор. Это позволяет легко изменить размер массива.
Используйте std :: tr1 :: array. Это имеет статический размер.
Оба могут быть правильно инициализированы в списке инициализаторов конструкторов.