質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

6回答

33446閲覧

C++で///を使ったコメント

yaeyama

総合スコア57

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/03/23 07:40

C++関係ないのかもしれませんが、最近コメント文で///とスラッシュを三つ使ったものをよく見ます。
VS2015で///を使うと//や/**/より濃い緑色になるのにも最近気が付きました。

そこで質問なのですが、///ってどういうときに使うものなのでしょうか?
なにか特別なことをコメントに残すときに使うのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

メソッドや変数の上にC++やC#では「///」VBでは「'''」といったコメントアウトをすると、自動で残りのテキストをVisualStadioが表示してくれます。

/// <summary>
/// 名前
/// </summary>
/// <param name="hoge">変数名</param>
/// <returns>備考</returns>
public void test(int hoge)

といったコメントですが、別の場所でこれを呼び出してカーソルを合わせるとこの内容が吹き出しに出てくるため、説明文に使えます

投稿2017/03/23 07:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yaeyama

2017/03/23 08:16

回答ありがとうございます。 param name="hoge"と int hogeが対応してるのですね。 わざわざコードまでありがとうございます。
hmmm

2017/03/23 11:54

C++で自動で補完されますか?プロジェクトテンプレートでは見かけますが、Intellisenseは対応していない気がします。
hmmm

2017/03/23 12:54

@yaeyama さん。ありがとうございます。できました。
guest

0

念の為に言うときますが、/// だとどうこうってのは言語仕様で規定されているものではなく、
あくまで Visual Studio/Visual C++ の独自機能。

投稿2017/03/23 08:10

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yaeyama

2017/03/23 08:12

回答ありがとうございます。 なるほど、Visual Studioの機能なのですね。
guest

0

投稿2017/03/23 07:47

alg

総合スコア2019

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yaeyama

2017/03/23 08:11

回答ありがとうございます。 ドキュメントコメントについては理解できました。 しかし、自分が目にした///を使ったコメント文ではXMLは使われておらず、 普通に関数の説明のような一行のコメントで使われていました。 この場合はどういった意味になるのでしょうか? それとも、必ずしもXMLを使わなければならないということではないということでしょうか? 仮にそうだとすると、//や/**/との違いがわかりません。
guest

0

/// はXMLドキュメントを生成するための書き方です。そのソースコードを元に作成できるようです。私は利用したことはないですが。

投稿2017/03/23 07:49

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

言語の文法上に違いはありません。

エディタや開発環境の機能によって画面表示が変わるだけです。1つの空白と10個の連続した空白の違いみたいなものです。(文法上に違いはないが、画面表示は変わる)

開発環境によっては補完機能やドキュメント生成ツールを持っているので、こちらの関係で差分が出る可能性もあります。もちろん、コンパイル結果(得られる実行ファイル)が変わるものではありません。

投稿2017/03/23 13:41

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

既にVisualStudioに関して話が出ていますが、似たようなツールで昔からDoxygenというソフトウェアがあります。

例えば、lenyaさんのサンプルをお借りして、Doxygen風に書くと、

cpp

1/// @brief 概要 2/// @param[in] hoge 変数の意味 3/// @return 戻り値の説明 4public void test(int hoge)

のようになります。
もしくは簡単に、

cpp

1/// 概要 2public void test(int hoge)

なんて書き方もあります。
また、doxygenはある程度書き方があって、「@brief」が「\brief」だったり、「///」が「//!」だったりします。

こんな感じでコメントを書いておけば、doxygenでこんな感じのドキュメントを生成する事ができます。

doxygenはオープンソースで、マルチプラットフォームで動作するので、オープンソースプロジェクトや、VisualStudioを使わない開発環境でのプロジェクトでは、よく見るコメントの書き方ですね。

投稿2017/03/23 13:20

katsuko

総合スコア3469

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yaeyama

2017/03/23 14:35 編集

回答ありがとうございます。 /// @brief 概要 /// @param[in] hoge 変数の意味 /// @return 戻り値の説明 public void test(int hoge) この書き方も同じプロジェクト内に見られたのでおそらくdoxygenの書き方で間違いないと思います。 doxygen初めて聞きましたけど便利そうですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問