Я пишу программу, которая использует библиотеку опций программы Boost, и я заметил следующий синтаксис, который преследовал меня с тех пор, как я увидел it:
desc.add_options()
("help","produce help message")
( /* other flag, value, description pairs here */)
;
Я вижу, что в заголовке оператор ()переопределен, но я не уверен, как это позволяет быть синтаксически правильным.
Во-вторых, есть ли какое-либо преимущество в этом синтаксисе по сравнению с простым вызовом add _options ()несколько раз (помимо демонстрации того факта, что вы можете манипулировать синтаксисом, подобным этому )?