タグ

C++に関するg6949のブックマーク (5)

  • C++ / コピーコンストラクタ・ムーブコンストラクタ他について自分用にまとめる - volatile

    ※別に一流プログラマーでも何でもないので間違いとかあったら教えて下さい…… はじめに サンプルコード 1. コンストラクタ 2. デストラクタ デストラクタをユーザ宣言した場合の注意事項 3. コピーコンストラクタ 4. コピー代入演算子 返すのはthisではなく*this 自己代入に備えよう 例外に注意しよう C++11であと2つ追加されました 5. ムーブコンストラクタ 6. ムーブ代入演算子 ムーブの注意事項 defaultとdelete どの場合コンパイラに暗黙的に宣言されるのか? 参考文献 はじめに C++でクラスを作る場合、以下のメンバ関数が暗黙的に生成されることがあります。 コンストラクタ(constructor) デストラクタ(destructor) コピーコンストラクタ(copy constructor) コピー代入演算子(copy assignment operator

    C++ / コピーコンストラクタ・ムーブコンストラクタ他について自分用にまとめる - volatile
    g6949
    g6949 2019/01/25
  • 【C++】色々な関数オブジェクト【ラムダ ファンクタ 関数ポインタ】 | MaryCore

    関数オブジェクト 関数オブジェクト(function object)は、関数のように振る舞うことのできるオブジェクトのことです。関数オブジェクトは多くの場合、クラスに対して関数呼び出し演算子を定義することで実現されます。C++ではoperator()メンバ関数のオーバロードによってそれを実現します。 // クラス struct Func { // 関数呼び出し演算子 void operator()() { printf("hello"); } }; // ファンクタ Func object = Func(); object(); // "hello" オブジェクト指向言語よっては、特定のインターフェースへの準拠や、特定のメソッド名(call, run)に対するメソッド呼び出しを規定することで、関数オブジェクトの振る舞いを実現している物もあります。 C++では様々な方法でこの関数オブジェクト

    g6949
    g6949 2019/01/22
    ファンクタ
  • 量子コンピュータ 商用化 - Google 検索

    2024/02/26 · 次世代の高速計算機、量子コンピューターの商用化に向けて国内の産学が2024年度に新会社を立ち上げる。産業界からは富士通や日立製作所、NECなど約10 ...

    g6949
    g6949 2018/02/28
  • Visual StudioでLinux用のC++コードを書く

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Visual StudioでLinux用のC++コードを書く
  • gcc _Unwind_Backtrace()の謎

    ふと思い立ち、gccの秘密(?)関数_Unwind_Backtrace()を使って実行途中プロセスのbacktraceを取ってみようとしたら、驚くほど動かず、延々と調査するはめに。結局わかったことは以下: C++のコードの中から使った場合は(試した範囲内では)いつでも動く Cのコードから使った場合、x86_64(amd64)やIA64では動くが、x86(32ビット)とかsparcでは動かない。また、これらはOSにも依存しない Cの場合で、x86_64とx86の違いは、ELFの.eh_frame section内に実行コードのframeに関するcall frame information(CFI)が含まれているかどうか。含まれていれば動くが、そうでなければ動かない。 x86におけるC++とCの差もELFの.eh_frame sectionの中身の違い .eh_frame sectionに必要

  • 1