2025年10月29日

一日一項目 C++ポケットリファレンスで見かけた ワケワカラン記述 なあぁにぃぃみつけちまったな

C++  次のコードの意味を教えてちょんまげ chatGPT-5先生に訊いたでございますじゃよ。

#include <iostream>
#include <stdexcept>

[[noreturn]] void report_error() //  属性というの初めて見る 2025-01-29 09:57:23
{
  throw std::runtime_error("error");
}

int f(int x)
{
  if (x > 0)
  {
    return x;
  }
  report_error();
}

int main()
{
  f(1); // f(0) とすると例外が投げられる やってみそ
  std::cout << f(1) << std::endl;

  std::cout << "End of main()" << std::endl;
}

ここの [[…]] というカギ括弧が多すぎるんじゃ!  バカタレっていうのがattributeとかいうものらしいぞよ。それはなにかしら?

[[noreturn]] は 「この関数は決して戻らない」 ということをコンパイラに伝える属性です。
C++11 以降で導入された標準構文です。

うーむ。コンパイラに伝えるというのは #pragmaとはどう違うのかしら?

まさにその通りで、#pragma も「コンパイラへの指示」です。ただし――
[[属性]] と #pragma は 似ているようで、実は立ち位置がまるで違う

うーむ。それは誰が使うのかしら?  ワタクシ つかえませぬimage

てなわけでして、ま~雑学収集という事でございますじゃよ。

C++ポケットリファレンス読んでいたら知らないのがぞろぞろと出てきまんな(笑)
image

ま~そういうわけだったんですね、よくわかりました(ウソ)

C++ブログラマが日常的には使わないものであれば 趣味のレベルの しかも入門レベルのワタクシが知ってもしゃーないのでございますじゃよ。
こういうのは優先度を下げるでございますじゃよ。

この、”ございますじゃよ” はYoutubeで気に入った短い動画があって面白いのでワタクシも使っておるでございますじゃよ。
ほかにも、語尾を だぉ にする人もおるだすだぉ。ま~す病もありま~す。ぞよぞよ病もたまに発症するでございますぞよ。

たのしー だって にんげんだもの byニセみつほ

posted by toinohni at 08:55| 東京 ☁| Comment(0) | ChatAI(技術・IT) | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください