タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

cppに関するWindymeltのブックマーク (2)

  • C/C++の「ポインタ」とは

    C/C++ の「ポインタ」は、難しいとか、実は簡単だとか、色々言われます。 ポインタについては規格に書かれています。この記事は、ポインタをより正確にイメージするため、規格に私の解釈を追加したものです。区別のため、C++23 草案 (N4950) の内容には節番号を付け、私の解釈は 斜体 で書きます。 私の解釈は以下の記事の影響を受けています。 ポインタとは、IDとオフセットの組 まず、ヌル以外のポインタは、以下の ID とオフセットの組 です。 ID:新しいオブジェクトが作られるたびに振られる、ユニークな値。 オフセット:オブジェクト先頭からのバイト数。 詳しく話していきます。 ID の割り振り 変数を定義するとオブジェクトが作られ (6.7.2)、各オブジェクトに固有の ID が割り振られます。たとえば、 と書くと整数 x と配列 arr が作られるので、x と arr にそれぞれ ID

    C/C++の「ポインタ」とは
    Windymelt
    Windymelt 2025/01/04
    面白い
  • C++の例外ハンドラを自作してみる。 - Qiita

    となります。では、C++はどのように例外を実現しているのでしょうか。 例外、といっても実はいくつかの種類があります。Itanium ABIが定義した方法や、Sj/Ljと呼ばれる例外などです。また、OSなどの環境によっても異なってきます。 ここでは、Linux上のgccで使われている例外について解説します。環境はWindowsのWSL1上で、Linux環境は次の通りです。 $ gcc qiita_exception_workspace.cpp /tmp/cci042nX.o: In function `main': qiita_exception_workspace.cpp:(.text+0x19): undefined reference to `__cxa_allocate_exception' qiita_exception_workspace.cpp:(.text+0x2b): un

    C++の例外ハンドラを自作してみる。 - Qiita
  • 1