c ++ как определить конец вектора без итератора - PullRequest
0 голосов
/ 20 октября 2019

Есть ли способ определить конец вектора без итератора? Вот фрагмент кода, который я пытаюсь выполнить:

        if(weights.is_open()){
          while(getline(weights, line)){
            std::stringstream extract(line);
            node = 0;
            cur_node = node;
            in = 0;
            while(extract >> cur_weight){
              long double tempweight = (long double)cur_weight;
              in += network[layer-1][node]*tempweight;
              node ++;

            }
            in += 0.01;
            network[layer][cur_node] = (1.0/(1+exp(-in)));
            cout << showpoint << fixed << setprecision(12) << network[layer][cur_node]<< endl;;
          //code would go here (is network[layer][node] the last element? If so, layer++;
          }
        }

Некоторый другой фон: сеть [уровень] [узел] была изменена ранее в программе. В небольшом тестовом файле, который у меня есть, это 3 слоя и узел разного размера (на самом деле это количество узлов), поэтому неизмененный 2d вектор с измененным размером и значениями, установленными на 0, будет выглядеть так:

0 0
0 0 //am I at the end of this vector? move down one layer and reset node to 0
0 0 0 0 0 0 0 0 0 0

Любойпомощь очень ценится. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...