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