Что означает //! [0] означает в коде примера Qt C ?

#c #qt

#c #qt

Вопрос:

Я только что открыл исходный код примера Qt server. Вот один из файлов: http://code.qt.io/cgit/qt/qtbase.git/tree/examples/network/fortuneserver/server.cpp

В нем есть такие комментарии, как //! [0] . Вот пример:

 //! [3]
    connect(tcpServer, amp;QTcpServer::newConnection, this, amp;Server::sendFortune);
//! [3]
  

Я никогда не видел их раньше. Что они означают?

Комментарии:

1. На самом деле это хороший вопрос. Отрицательные голоса необоснованны.

Ответ №1:

Он используется в Qt для создания веб-документации из исходного кода. обычно, где бы вы ни нашли //! [NUMBER] , вы сможете увидеть этот фрагмент кода в веб-документации. Кроме того, он находится в конце кода, поэтому инструмент создания документации может знать, какая часть кода куда идет.

Конечно, //! теги находятся в исходном коде, но не в сгенерированной документации. В противном случае документация станет нечитаемой.

Почему они это использовали? Он начинается с // (что означает, что это комментарий, поэтому компилятор его проигнорирует), и они добавили « ! » для инструмента генератора, чтобы он мог отделять комментарии к коду от информации документации.

 //![1] This line will be generated into the documentation explaining the following function
void somethingDifficult()
{
   //This would be a normal comment, so not exported to documentation
}
//![1] Here we mark the end of the export to the documentation
  

Ответ №2:

Я не мог видеть //! где угодно в этой ссылке, но // — это объявление, что остальная часть строки является комментарием.

Комментарии:

1. Если только это не строковый литерал.

2. В этом случае это означает «//!»

3. Иногда совершенно правильный ответ может быть бесполезным. Это такое время. Я предлагаю удалить его.