タグ

ブックマーク / qiita.com/yohhoy (8)

  • C++20コンセプト入門以前 - Qiita

    C++20 では全C++プログラマ待望[要出展]の「コンセプト(Concepts)」が正式導入されました。 この記事では“入門以前”と称して、C++コンセプトのメリットをざっくりと説明します。詳細な仕様説明は行わないことを予めご了承ください。 後日追記: 2020-12-15付けで国際標準規格 ISO/IEC 14882:2020 としてC++20が正式発行されました。 C++コンセプトって何? 例えば cppreference.com(日語版) 冒頭では下記のように説明されます。なるほど分からん。言語仕様の説明としては間違いありませんが、これだけでC++コンセプトを理解するのはさすがに難しいでしょう。 クラステンプレート、関数テンプレート、および非テンプレート関数 (一般的にはクラステンプレートのメンバ) は、制約と紐付けることができます。 制約はテンプレート引数に対する制限を指定しま

    C++20コンセプト入門以前 - Qiita
    rydot
    rydot 2023/07/12
  • C++コルーチン拡張メモ - Qiita

    次期標準 C++20 に向けて導入が検討されている「コルーチン(Coroutine)」のお勉強メモ。 2020年6月現在、C++20 言語仕様へのコルーチン導入は正式に決定している。https://cpprefjp.github.io/lang/cpp20/coroutines.html 参照。 2018年4月現在、プログラミング言語C++の正式機能としてではなく、コルーチン拡張(Coroutines TS)として仕様定義される。Clang 5以降でサポート(要-fcoroutines-tsオプション)。 遅延実行 #include <future> #include <iostream> // 通常関数の定義 int AtLtUaE() { std::cout << "answer to life the universe and everything" << std::endl; re

    C++コルーチン拡張メモ - Qiita
    rydot
    rydot 2020/06/05
  • x86/SIMD Intrinsicとヘッダファイル対応表 - Qiita

    x86(x86_64)アーキテクチャSIMD拡張命令セットと、組み込み関数(intrinsic)ヘッダファイルの対応表。関数検索は Intel Intrinsics Guide がオススメ。 includeヘッダ SIMD命令セット

    x86/SIMD Intrinsicとヘッダファイル対応表 - Qiita
    rydot
    rydot 2019/04/02
  • sizeof演算子にまつわるアレコレ - Qiita

    記事は C言語 Advent Calendar 2016 22日目(2週間ぶり3度目) にエントリしています。 当初、12/1で参加した時は4エントリしか参加表明がなかったのに、自転車操業のごとく2度目の参加につながり、気が付いたら25日分全てのエントリが埋まったようです。おめでとうございます。みなさんC言語好きなんですね(?) プログラミング言語Cの sizeof演算子 に関するネタを、基の"キ"から重箱の隅つつきまで揃えました。1 各話題にはマニアック度(=どうでも良い度合い)を独断と偏見で3段階評価してあります。★が少ないほど広くC言語プログラマに知っておいて欲しい事項(=重要)です。...普通のランキングと逆じゃねーか。 なお記事の内容は、特に断りがない限りISO/IEC 9899言語仕様(C90/C99/C11)に準じます。また用語の日語訳はJIS X 3010規格票に合

    sizeof演算子にまつわるアレコレ - Qiita
    rydot
    rydot 2018/10/18
  • 非seq_cstメモリアクセスあれこれメモ - Qiita

    int main() { atomic_int x = 0; atomic_int y = 0; {{{ { y.store(1, memory_order_release); } ||| { x.store(1, memory_order_release); } ||| { r0 = x.load(memory_order_acquire).readsvalue(0); r1 = y.load(memory_order_acquire).readsvalue(1); } ||| { r2 = x.load(memory_order_acquire).readsvalue(1); r3 = y.load(memory_order_acquire).readsvalue(0); } }}} return 0; } // 4 executions; 1 consistent, race fre

    非seq_cstメモリアクセスあれこれメモ - Qiita
    rydot
    rydot 2018/09/14
  • データ競合(data race)と競合状態(race condition)を混同しない - Qiita

    T/O マルチスレッド・プログラミングの文脈では、「データ競合(data race)」と「競合状態(race condition)」は直交した異なる概念を表す1。両者ともに回避すべき事象だが、問題を取り扱うレイヤは明確に区別されるべき。 データ競合(data race)は、マルチスレッド・プログラム実装上の問題である。 競合状態(race condition)は、並行処理システム設計上の問題である。 ここではJava, C#, C++あたりのマルチスレッド対応手続き型ベースのプログラミング言語を取り上げるが、言語パラダイムによらずマルチスレッド処理(共有メモリ型の並行処理機構)ならば広範に適用可能である。また言語仕様として両者を明確に区別するRust言語も取り上げる。 「データ競合(data race)」が何であるかは、それぞれのプログラミング言語仕様にて定義される。競合状態(race c

    データ競合(data race)と競合状態(race condition)を混同しない - Qiita
    rydot
    rydot 2018/07/14
  • C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?) - Qiita

    C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?)C#非同期処理StackOverflowマルチスレッド翻訳 StackExchange/Code Reviewでの質問"Exporting doc types using queues and multithreading"へのEric Lippert氏による回答より訳出。回答内容はオリジナル投稿"What are the best practices with multithreading in C#?"に呼応するため、編集前のタイトルを採用。原文および訳文のライセンスは引用元サイト規約の通り CC-BY-SA 3.0 に従う。 (補足:回答内容のトーンに合わせて口語調かつ意訳気味に訳出しました。誤訳指摘および訳出改善は歓迎

    C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?) - Qiita
    rydot
    rydot 2018/07/14
  • C言語分かってなかった (I Do Not Know C) - Qiita

    Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.

    C言語分かってなかった (I Do Not Know C) - Qiita
  • 1