2016-08-24 9 views
-3

Я нашел странный синтаксис в некоторой Aruco файлов:C++ странного синтаксиса пятнистого в кодах Aruco

vector<cv::Mat> thres_images(n_param1); 

Похож thres_images это функция, но если да, то, что находится перед ним vector<cv::Mat>? Это не декларация и определение. Позже он используется как массив:

thres = thres_images[n_param1/2]; 

PS: полный код можно найти here

+1

Это просто векторный конструктор, принимающий 1 аргумент, т. Е. Его размер. Вы разбиваете 'std :: vector ' '' thres_images' с размером 'n_param1'. Затем вы получаете доступ к среднему элементу этого вектора. – Miki

+1

Похож на определение переменной для меня, ничего особенного. –

+5

Думаю, вам нужна [хорошая книга для начинающих] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). Это стандартное объявление переменной, вызывающее конкретный конструктор [standard 'vector' class] (http://en.cppreference.com/w/cpp/container/vector). –

ответ

2

thres_images является вектором и его т е р передается n_param1 как первоначальный размер контейнера. Этот ctor называется заполнением ctor.

Смежные вопросы