並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 855件

新着順 人気順

C++の検索結果1 - 40 件 / 855件

  • C++erは全員戻り値型の後置記法を使おう - ペイントソフト開発日誌

    目次 目次 「戻り値型の後置記法」って何? 何が嬉しいの? 問題点 「戻り値型の後置記法」って何? C++11から導入された言語仕様です。 タイトルの呼び方は自分が勝手に使っているだけで、英語圏だと「trailing-return-type」がよく使われるらしい。 cpprefjp.github.io この仕様を使うと例えば以下のようなコードが int Add(int a, int b) { return a + b; } このようになります。 auto Add(int a, int b) -> int { return a + b; } 何が嬉しいの? この仕様はC++のメタプログラミングで戻り値型の推論を簡単に行う目的で使用されます。 なんだ、そんなC++上級者のための機能なんて下々の人間には関係ないじゃん、とお思いかもしれませんが、この機能にはもう一つわかりやすい大きなメリットがある

      C++erは全員戻り値型の後置記法を使おう - ペイントソフト開発日誌
    • MSX-C に関する情報 - Qiita

      はじめに 『MSX-C』関連の情報を集めてみました。 MSX-C 『MSX-C』は ASCII が発売した MSX 用の C コンパイラです。元々は エル・エス・アイ・ジャパン株式会社 の『LSI C-80』の OEM だったようです。 『MSX-C』はアセンブラソースを吐くタイプのコンパイラですので、実行形式ファイルを生成するにはアセンブラとリンカが必要です。 See also: ASCII MSX-C (MSX Resource Center) LSI C-86 (Wikipedia) 準拠している C 言語の規格 ANSI C (1989) よりも前に発売された製品なので、後に制定された規格には準拠しておらず、K&R のサブセット的な実装となっています。例えば、MSX-C で利用可能なデータ型は次の 4 (3) 種類のみです。 型 長さ 範囲

        MSX-C に関する情報 - Qiita
      • if constexpr文はテンプレート世界のラムダ式である

        GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection

          if constexpr文はテンプレート世界のラムダ式である
        • Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X

          See also my blog Contents Optimization manuals Vector class library Object file converter and disassembler Subroutine library ForwardCom: An open standard instruction set for high performance microprocessors Test programs for measuring clock cycles in C++ and assembly code Floating point exception tracking through NAN propagation CPUID manipulation program Links Optimization manuals This series of

          • GitHub - tidwall/neco: Concurrency library for C (coroutines)

            Coroutines: starting, sleeping, suspending, resuming, yielding, and joining. Synchronization: channels, generators, mutexes, condition variables, and waitgroups. Support for deadlines and cancelation. Posix friendly interface using file descriptors. Additional APIs for networking, signals, random data, streams, and buffered I/O. Lightweight runtime with a fair and deterministic scheduler. Fast use

              GitHub - tidwall/neco: Concurrency library for C (coroutines)
            • The V8 Sandbox · V8

              After almost three years since the initial design document and hundreds of CLs in the meantime, the V8 Sandbox — a lightweight, in-process sandbox for V8 — has now progressed to the point where it is no longer considered an experimental security feature. Starting today, the V8 Sandbox is included in Chrome's Vulnerability Reward Program (VRP). While there are still a number of issues to resolve be

              • Rustは「Go」や「C++」と比較して何が優れているのか? Googleエンジニアが語る

                Googleは2024年3月27日(現地時間、以下同)、英国ロンドンで開催された「Rust Nation UK Conference」において、ソフトウェア開発にプログラミング言語「Rust」の活用を進めていることを発表した。 Rustは「Go」や「C++」と比較して何が優れているのか? 同カンファレンスには、「Android」でコンパイラやランタイムチームなどを率いているラース・バーグストローム氏が登壇し、実際の経験を基にプログラミング言語「Go」や「C++」と比較してRustを使うことで高い生産性を実現できていると伝えた。 バーグストローム氏はまずRustの利点としてパフォーマンスを挙げた。Rustで開発されたソフトウェアが高いパフォーマンスを発揮することはすでに明らかにされており、同氏は「Dropbox」や「Figma」などがサービスをRustに書き換えたことを事例として取り上げてい

                  Rustは「Go」や「C++」と比較して何が優れているのか? Googleエンジニアが語る
                • プログラミング言語の人気ランキング、TypeScriptが上昇、C++は下落 RedMonk調べ

                  ソフトウェア開発業界を対象とした調査会社RedMonkは2024年3月8日(米国時間)、2024年第1四半期のプログラミング言語の人気度ランキングを発表した。 このランキングは、プロジェクトホスティングサイト「GitHub」の利用状況と、開発者向けQ&Aサイト「Stack Overflow」で話題になっている件数をそれぞれ調査した結果を基に2つのランキングを作成し、総合したもの。 調査の目的はプログラミング言語の利用状況を統計的に表現することではなく、2つの主要な開発者コミュニティーにおけるプログラミング言語の利用方法と議論状況を相関させ、今後の採用動向に関する洞察を得ることにあると、RedMonkは説明している。 RedMonkは、GitHubの利用状況(プロジェクト数)に基づく人気度ランキングを横軸に、Stack Overflowで話題になっている件数(タグの出現回数)に基づく人気度ラ

                    プログラミング言語の人気ランキング、TypeScriptが上昇、C++は下落 RedMonk調べ
                  • 2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG

                    概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとにVisual Studio 2015化対応を行ってきました。そして2024年リリースのBiz 9.19.0にてVisual Studio 2015化対応は完了を迎えました。 しかし、埋め込まれたバグの修正にはCOMの理解が不可欠であったため、2020年代に突入した今になって私達はこれまで正面戦争を避けてきたCOMを0から学び直す必要がありました。そしてATLの不思議な挙動やSTAにおける再入との戦いを乗り越え、無事にリリースされました。 はじめに Opti

                      2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG
                    • オブジェクト指向宗教史

                      OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

                        オブジェクト指向宗教史
                      • 【llama.cpp】誰でもできるgguf変換

                        tinyLlamaとかを使うときに4bit量子化したいときが誰しも一度はあると思うので、備忘録を描いておく。 llama.cppを導入し、convert.pyを実行、最後にquantize.exeを実行すればOKです。 cmakeの導入 これを参考にcmakeを使えるようにしてみてください llama.cppの導入 llama.cppをクローン git clone https://github.com/ggerganov/llama.cpp cd llama.cpp makeをする。自分はcmakeでやった mkdir build cd build cmake .. cmake --build . --Release cd .. モデルの変換 モデルのダウンロードをする。今回は「yuiseki/tinyllama-ja-wikipedia-1.5T-v0.1」を用いる。 cd models

                          【llama.cpp】誰でもできるgguf変換
                        • C++/Java系言語で1文字だけでコメントアウトするブロックを切り替える - Qiita

                          概要 プログラミングをしていると実装の方式を試してみることがあると思います。あるいは、別の実装でうまくいくか自信のない時、今あるものはコメントアウトしておいて別の実装を試してみたり。そんな場合、今時はエディターの機能で簡単にブロックをコメントアウトしたりできますが、言語仕様をうまく使って一文字編集するだけでコードブロックをコメントアウトする小技を大昔に思いついていて今でも使うことがあるので紹介します。実装中の試行錯誤の時には便利です。 この技はC++/Java/Javascript系の、ブロックコメント/* ... */とインラインコメント//がサポートされている言語で利用できます。 ブロックを/の削除でコメントアウトする 以下のように書いておくと、一番最初の/を削除すると最初の行がインラインコメントからブロックコメントに切り替わり、ブロック全体がコメントアウトされます。 先頭行が//で始

                            C++/Java系言語で1文字だけでコメントアウトするブロックを切り替える - Qiita
                          • The Real C++ Killers (Not You, Rust)

                            This is Words and Buttons Online — a collection of interactive #tutorials, #demos, and #quizzes about #mathematics, #algorithms and #programming. Hello! I’m Oleksandr Kaleniuk and I’m a C++holic. I have been writing in C++ for 17 years and for all those 17 years I’ve been struggling to get rid of this devastating addiction. It all started in late 2005 with a 3D space simulator engine. The engine h

                            • delete this の安全性 -

                              メンバー向けトレーニングネタその1。delete this は危険に見えるが何を削除しているのか確認する。 class ClassA { public: void del() { delete this; } }; int main() { ClassA* ptr = new ClassA(); ptr->del(); // ダメな例 // ClassA test; // test.del(); return 0; } (gdb) b ClassA::del Breakpoint 1 at 0x4006aa: file test.cc, line 6. (gdb) run Breakpoint 1, ClassA::del (this=0x602010) at test.cc:6 6 delete this; ようするに、削除されるのはオブジェクトの管理領域 (0x602010) であって

                                delete this の安全性 -
                              • 「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス

                                米ホワイトハウス国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、2024年2月26日(米国時間)、サイバー空間における攻撃対象領域(アタックサーフェス)を積極的に削減するよう技術コミュニティーに呼びかける報告書を発表した。 ONCDは、IT企業がメモリ安全なプログラミング言語を採用することで、あらゆる種類の脆弱(ぜいじゃく)性がデジタルエコシステムに侵入するのを防ぐことができると述べている。ONCDはまた、サイバーセキュリティの品質を測定するより優れた診断の開発を可能にするために、ソフトウェアの測定可能性の問題に取り組むことを奨励している。 関連記事 Google、「メモリ安全性」に関する見解と対策をまとめたホワイトペーパーを公開 Googleは、「セキュアバイデザイン:メモリ安全性に関するGoo

                                  「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス
                                • 「Java」「Rust」がC/C++の代替になるこれだけの根拠

                                  どのプログラミング言語を利用するのかは開発者にとって大きな悩みだ。プログラミング言語「C」やその派生言語である「C++」は、業務アプリケーションや組み込みシステムなど幅広い用途で利用されている。処理速度や制御のしやすさといった観点で、C/C++と他のプログラミング言語を比較することは珍しくない。 「Java」はC/C++の比較相手としてしばしば名前が挙がる。JavaとC/C++はプログラムを実行する仕組みが異なり、その違いのために従来「Javaは遅い」と評する開発者もいた。この意見は正しいのだろうか。他方でC/C++に代わるプログラミング言語として台頭しつつある「Rust」はどのような特性を持ち、なぜ支持を集めているのか。本資料は、そうした疑問に対する答えを提示する。C/C++以外の選択肢に目を向けるためのきっかけとして参考にしてほしい。

                                    「Java」「Rust」がC/C++の代替になるこれだけの根拠
                                  • 「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”

                                    Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。 1個の本質的な問題を解いてしまうほうが細かいことを考えるよりも簡単 植山類氏:では始めます。本日、機会をいただいて講演をすることになった植山と申します。この講演の内容は「大きな問題のほうが小さな問題より解くのは簡単だ」というタイトルです。 どういう趣旨かというと、常に簡単だというわけではないのですが、いろいろな場面で、1個の本質的な問題をドッカンと解いてしまうほうが、いろいろな細かいことを考えるよりも簡単なことが多いという話です。 そういうソリューションが往々にして見逃されがちということがけっこうあって、そういうことにどうやって挑戦していくのかという気持ちの話を、僕がそういう大きな問題を解決した経験を踏

                                      「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”
                                    • [Swift] Swift 5.9 と C++ の互換性 - Qiita

                                      はじめに Swift 5.9 から C++ interoperability という機能が入りました。 これにより、C++ と Swift に互換性ができ、直接呼び出せるようになりました! 詳細は WWDC2023 の動画を見てると面白いと思います。 では、何が変わったのかを見ていきましょう! 実装 まずは従来の方法を紹介します。 (Xcode でアプリ開発をしている前提で話します) Swift 5.9 未満で C++ を扱う 今までは3通りの方法がありました。(他にあればコメントくださいmm) C でブリッジする(C++ の機能 extern "C" を使う) Objective-C++ でブリッジする SPM から module.modulemap で公開する 1つずつ見ていきましょう。 ① C でブリッジする(C++ の機能 extern "C" を使う) 前提として Swift は

                                        [Swift] Swift 5.9 と C++ の互換性 - Qiita
                                      • Googleが公開したローカルLLMのgemma.cppをLinuxとAndroidのTermuxで動かしてみた。とりあえず2bだけど日本語で返事が帰ってくる程度に賢い。llama.cppでGGUF版があるけどこちらもチャット形式で良い。NetBSD上でもビルドし動作しました

                                        Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224 Googleが公開したローカルLLMのgemma.cppを参考サイトを見ながら動かしてみた。先駆者に感謝 とりあえず2bだけど日本語で返事が帰ってくる程度に賢い。llama.cppでGGUF版があるけどこちらもチャット形式で良い note.com/ngc_shj/n/n3f5… pic.twitter.com/8bfoGYRrnF 2024-02-26 22:28:22

                                          Googleが公開したローカルLLMのgemma.cppをLinuxとAndroidのTermuxで動かしてみた。とりあえず2bだけど日本語で返事が帰ってくる程度に賢い。llama.cppでGGUF版があるけどこちらもチャット形式で良い。NetBSD上でもビルドし動作しました
                                        • 米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ

                                          米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ 米ホワイトハウスの国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、サイバー空間における攻撃対象領域を積極的に削減する目的で、テクノロジーコミュニティやソフトウェアコミュニティに対してメモリ安全(Memory Safe)なソフトウェアの実現を積極的に呼びかけるプレスリリース「Future Software Should Be Memory Safe」(将来のソフトウェアはメモリ安全になるべき)を発表しました。 プレスリリースの中で、国家サイバー局長Harry Coker氏は「私たちは国家として、サイバースペースにおける攻撃対象領域を減らし、あらゆる種類のセキュリティバグがデジタルエコシステムに

                                            米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ
                                          • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

                                            お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

                                              浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
                                            • VSCode で clangd を使って、賢いC++インテリセンス環境を整える - Qiita

                                              VSCode の標準のC++インテリセンスでは、簡単なコード補完などや、構文が間違ってるなどのエラー表示はリアルタイムに出来ますが、警告などはリアルタイム表示出来なかったり、その他コーディング時に行ってほしい賢い機能が不足しがちです。 例えば以下のコードは、セミコロン忘れなどのエラーは表示してくれますが、未初期化変数の f などはコンパイル時に警告がちょろっと出るだけで、見落としてしまいます。 #include <iostream> using namespace std; int main(){ int f; cout << f << endl; cout << "semicolon" << endl return 0 } MS 標準の C++ インテリセンスはそこまで賢くないからというのが理由なのですが、ここで変わりに clangd を使うことで、賢いリアルタイムインテリセンスを使える

                                                VSCode で clangd を使って、賢いC++インテリセンス環境を整える - Qiita
                                              • Intelが特定ベンチマークのスコアを最大9%水増しする不正をしていたとして2600件以上のベンチマーク結果が事実上無効に

                                                性能テストの標準化団体の1つで、公平なベンチマークを行うために設立された非営利組織・SPECが、「Intelが自社プロセッサのベンチマーク結果を水増しするために特定のベンチマークのスコアを向上させるような最適化を行い、スコアを最大で9%水増ししていた」として、Intelプロセッサのベンチマーク結果2600件以上を事実上無効化しました。 Targeted Intel oneAPI DPC++ Compiler Optimization Rules Out 2k+ SPEC CPU Submissions - Phoronix https://www.phoronix.com/news/oneAPI-DPC-Compiler-Cheat-SPEC Impact of Intel Compiler Optimizations on SPEC CPU2017 Example https://www

                                                  Intelが特定ベンチマークのスコアを最大9%水増しする不正をしていたとして2600件以上のベンチマーク結果が事実上無効に
                                                • Blog: LLVM's 'RFC: C++ Buffer Hardening' at Google

                                                  In this blog post, we're sharing how we evaluated LLVM's proposed approach at Google, outlining our initial conclusions from this process, sharing useful adoption tips, and pointing to the next steps we plan to take on this journey.

                                                    Blog: LLVM's 'RFC: C++ Buffer Hardening' at Google
                                                  • 使いたい標準C++機能がない環境でいかに実装・設計するか

                                                    Prepare for Jakarta EE 11 - Performance and Developer Productivity

                                                      使いたい標準C++機能がない環境でいかに実装・設計するか
                                                    • 継承はなんでダメ? - まめめも

                                                      「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

                                                        継承はなんでダメ? - まめめも
                                                      • C++ MIX #9

                                                        「C++ 開発が少し便利になる、最近の Visual Studio の機能」C++ MIX #9

                                                          C++ MIX #9
                                                        • Googleがプログラミング言語「Rust」に100万米ドルを助成、「C++」との併存・置き換えを図る/メモリ安全性にかかわるセキュリティ問題を減らしつつ、生産性を向上

                                                            Googleがプログラミング言語「Rust」に100万米ドルを助成、「C++」との併存・置き換えを図る/メモリ安全性にかかわるセキュリティ問題を減らしつつ、生産性を向上
                                                          • LLVM/Clang Can Work Fine As A GCC Replacement For Linux Distributions - Phoronix

                                                            LLVM/Clang Can Work Fine As A GCC Replacement For Linux Distributions Written by Michael Larabel in LLVM on 5 February 2024 at 06:57 AM EST. 43 Comments While the performance of LLVM/Clang is on-par with GCC these days on both x86_64 and AArch64 and the C/C++ support is very robust compared to many years ago, most Linux distributions continue using the GCC compiler and GNU toolchain by default. Op

                                                              LLVM/Clang Can Work Fine As A GCC Replacement For Linux Distributions - Phoronix
                                                            • [海外動画紹介] あなたが止めるべき31の初心者っぽいC++の習慣 - Qiita

                                                              31 nooby C++ habits you need to ditch - YouTube この動画の解説が非常に参考になったので、勉強がてら紹介記事を書くことにしました。 完全翻訳ではなく、大雑把に要点のみ解説しています。気になる方は元動画をご参照ください。 登場するソースコードは下記のURLで入手可能です(解説コメント付き)。 翻訳内容に若干自信がない部分があるので、おかしな点があればご指摘いただけると助かります。 1. using namespace std; 1 #include ... using namespace std; void using_namespace_std() { string s{"hello, world!"}; cout << s << endl; } 関数などのスコープ内に収まっている場合は問題ないが、グローバル空間やヘッダーにusing宣言が定義

                                                                [海外動画紹介] あなたが止めるべき31の初心者っぽいC++の習慣 - Qiita
                                                              • 良いソフトウェアとコードレビュー / Good software and code review

                                                                Scala + Caliban で作るGraphQL バックエンド / Making GraphQL Backend with Scala + Caliban

                                                                  良いソフトウェアとコードレビュー / Good software and code review
                                                                • Windows環境で、Llama.cppを用いてローカルLLMを動作させてみた|猩々博士

                                                                  なお、最新の12.3でも動作しました。 2A-1B. Cudaがインストールされている場合、 バージョン情報を確認してください。 バージョンが、12.2.0 または11.7.1ではない場合(12.3でも動作しました)、上記Cudaリンクよりダウンロードインストールしてください。 2B.llama.cppをインストールする以下リンクより、対応したzipファイルをダウンロードします。 現行の最新バージョンは、b1988です。(2024年1月29日時点) Cuda12.2.0の場合、「llama-b1988-bin-win-cublas-cu12.2.0-x64.zip」を、Cuda11.7.1の場合、「llama-b1988-bin-win-cublas-cu11.7.1-x64.zip」をダウンロードしてください。 ダウンロード後、解凍しておきます。 3.Llama.cppを動作させるhtt

                                                                    Windows環境で、Llama.cppを用いてローカルLLMを動作させてみた|猩々博士
                                                                  • RISC-VでC言語のポインターを理解する! ポインターの動作と処理を詳細に解説した書籍が発売/『RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門』【Book Watch/ニュース】

                                                                      RISC-VでC言語のポインターを理解する! ポインターの動作と処理を詳細に解説した書籍が発売/『RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門』【Book Watch/ニュース】
                                                                    • どうやってコード品質を上げるのか? 実例で学ぶリファクタリング

                                                                      リファクタリングって何? いきなりですが「リファクタリング」について、普段どれぐらい意識していますか? コード品質に関わる重要な概念ですが、この単語は、職業としてプログラミングをやらない限り、人生で出会わない単語の筆頭と言えるかもしれません。下図は、リファクタリングと、おそらくそれと同程度には知られているのでないかと思われる開発用語の検索頻度を、Google Trendsで調べてみたものです。 リファクタリング、コードレビュー、スクラムの検索頻度の推移 検索期間は2013年10月21日から2023年10月21日、地域はJapan、カテゴリーはComputers & Electronics(SoftwareやProgramingをサブカテゴリに持ちます)です。「コードレビュー」もコード品質を上げるうえでは重要な行為だと思いますが、日本では意外と浸透していないようですね。コードレビューに関して

                                                                        どうやってコード品質を上げるのか? 実例で学ぶリファクタリング
                                                                      • C++で作ったゲームを Unity Gaming Service でホストする方法 | Unity Learning Materials

                                                                        アーキテクチャとインフラストラクチャーはオンラインゲームの中心的な要素です。本講演では、ホスト・クライアントとサーバー・クライアントの違い、長所と短所、それぞれのワークフローの仕組みについて説明し、UGSとC++を使用した実装方法を紹介させていただきます。 受講スキル オンラインゲームを作りたい方 ホスティングインフラについてお困りの方 得られる知見 オンラインゲームホスティングの仕組み、C++などの言語によるUGSの使用方法。

                                                                          C++で作ったゲームを Unity Gaming Service でホストする方法 | Unity Learning Materials
                                                                        • 2023年に特にお世話になったC++ライブラリ8選 - Qiita

                                                                          たぶん2023年一番お世話になったライブラリです。 2022年まではsimdjsonをよく使っていたのですが、新規プロジェクトはGlazeばかり使っています。 開発が活発だし、ISSUEへの対応が速いのもありがたいです。 良い点 SIMDを利用していないのにsimdjsonやyyjsonと遜色ない速度で動作する 構造体やクラスだけでなくSTLコンテナもJSONとの直接読み書きができる 中間データに独自バイナリ形式を利用してさらに高速化できる いまいちな点 長い文字列が多いJSONデータの読み込みではSIMDを使っているライブラリに対して不利になる 最後のフィールドのカンマやコメントの読み込みに対応していない ストリーム的な処理はない(と思う) 代替ライブラリ 似たようなアプローチでSIMDを使ってさらに速いJsonifierというライブラリがあります。 純粋な速度を求める場合にはこちらを使

                                                                            2023年に特にお世話になったC++ライブラリ8選 - Qiita
                                                                          • Try to make a try !

                                                                            各位,今年もC++ Advent Calendar 2023にご参加いただきありがとうございます! 今年はなんか数ヶ月単位で労基も真っ青な過酷な労働を強いられてしまい,全くAdCについて気にかける(カレンダーの余白を眺めて宣伝する,記事を読んで感想を書くなどする)余裕がありませんでした…(普通に過労死ラインに乗ってしまったし案の定心療内科通いになっちゃったぐらいなので,ここ暫くは自身の生死や体調・今後しか気にかける余裕がなかった) そんな中,(本当に全く経時で追えてないので「今日空いてんじゃん,記事書くか…!」していただいた方々も何人かいらっしゃったかもしれませんが)ちゃんとカレンダーが埋まったことはとてもありがたいことです. 皆様本当にありがとうございます. 過去2年間続けてきた感想ツイート(2021,2022)についてですが,記事執筆がだいぶ遅れてしまったこと,年末バタバタする等の理由

                                                                              Try to make a try !
                                                                            • C++erですがCOMに翻弄されています: 再入との戦い - Qiita

                                                                              C++ Advent Calender この記事はC++のカレンダー | Advent Calendar 2023 - Qiita の21日目の記事です。 20日目: Try to make a try ! by @wx257osn2 22日目: C++ コンパイル時「出力」で画像ファイル生成 #C++ - Qiita by @Raclamusi はじめに 2021年に新卒で今の会社に入社して以来、ずっととある一つの製品の開発部門に所属していて、その中のWindowsチームというところにいます。 WindowsチームなのにiOSの要件が来たり、サーバーEoLの要件が来たりとなんだか特殊部隊感があるのですが、きっと気の所為です。 さて、ここまで入社以来ずっと本格的な理解から逃げ続けてきた存在があります。それがCOMです。 ところがついにこの秋から冬にかけての要件ではVisual Studio

                                                                                C++erですがCOMに翻弄されています: 再入との戦い - Qiita
                                                                              • Learn Modern C++

                                                                                This site contains an original, self-contained guide to learning the fundamentals of Modern C++, intended to be the basis of a self-study course. Some Chapters depend upon material presented in earlier ones, so studying them linearly is recommended. There are also regular posts (accessible from the front page) which cover topics or areas of C++ not covered in the course. If you have any queries or

                                                                                  Learn Modern C++
                                                                                • [C++]契約プログラミング機能のこれまでとこれから - 地面を見下ろす少年の足蹴にされる私

                                                                                  この記事はC++アドベントカレンダー2023 25日目の記事です。ご参加の皆様お疲れ様でした! C++ Contracts C++20 Contracts 問題点とMVP(Minimum Viable Product) 最初のMVP仕様 関数の再宣言と契約注釈 引数の事後条件からの参照 契約条件式の副作用 C++26に向けたロードマップ 契約注釈のセマンティクス 違反ハンドラ 構文 C++26に向けて、残りの問題 2023年末時点でのMVP 参考文献 C++ Contracts ContractとはContract programmingの略称で、C++ ContractsとはC++における契約プログラミング機能を指す言葉です(sは付いたり付かなかったりします)。 C++ Contractsとは、契約プログラミングという考え方に基づいた設計(契約による設計)をより自然に行えるようにするため

                                                                                    [C++]契約プログラミング機能のこれまでとこれから - 地面を見下ろす少年の足蹴にされる私