並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1143件

新着順 人気順

c++の検索結果1 - 40 件 / 1143件

  • Exploring the c4... compiler?

    This week I found myself digging through the code of c4, an implementation of C “in four functions”, by Robert Swierczek. I remember coming across c4 when it was released ten years ago. It got me excited: hey, C in four functions, that means it’s easy to understand right? That excitement turned into “oh, I see” as soon as I scrolled through the code. c4 is dense, barely commented, and, frankly, st

      Exploring the c4... compiler?
    • Compiling higher order functions with GADTs

      Implementing first class functions in a bytecode interpreter is trivial. But how do compilers that generate machine code (or lower to C, or SSA) implement higher order functions? Back in 2021, I found an answer when contributing closures to the Pallene compiler. Today I was researching something loosely related, and found yet another neat trick called defunctionalization in this paper. Defunctiona

      • 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は全員戻り値型の後置記法を使おう - ペイントソフト開発日誌
        • Freedom and Portability

          The economic advantages of portability are very great. In many segments of the computer industry, the dominant cost is development and maintenance of software. Dennis Ritchie and Stephen Johnson 1978 … many insist that C is the programming language and that it will last forever. Byte Magazine 1983 The August 1983 issue of Byte Magazine devoted its cover, and a large part of its editorial content,

            Freedom and Portability
          • The life and times of an Abstract Syntax Tree

            By Francesco Bertolaccini You’ve reached computer programming nirvana. Your journey has led you down many paths, including believing that God wrote the universe in LISP, but now the truth is clear in your mind: every problem can be solved by writing one more compiler. It’s true. Even our soon-to-be artificially intelligent overlords are nothing but compilers, just as the legends foretold. That sma

              The life and times of an Abstract Syntax Tree
            • 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
              • https://waxc.netlify.app/

                • Parsing and all that

                  Hello again! I’m picking up my series on Automata, with this post that goes into what I had always meant to get to: parsers. We’ll check out the old-school linear time parsing algorithms, which only need to go over the input once, without backtracking or caching. We’ll check out LL and LR, parse tables, recursive descent and recursive ascent. Welcome to the world of deterministic parsing… Refreshe

                  • 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

                      • PlayStation Programming with MIPS Assembly and C

                        This course is a deep dive into the world of PlayStation programming! We'll explore the PS1 hardware, understand its sub-components, and learn how to code games using MIPS assembler & the C programming language. We'll also learn how to use a PS1 SDK library paired with a modern development toolchain to be more productive and push fast polygons out of our console. We are about to enter the 5th gene

                          PlayStation Programming with MIPS Assembly and C
                        • 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
                                  • GitHub - raygard/wak: wak -- an awk implementation for toybox and standalone

                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                      GitHub - raygard/wak: wak -- an awk implementation for toybox and standalone
                                    • An awk implementation

                                      An awk implementation Rob Landley’s toybox project provides a variety of Linux command-line tools, similar to busybox. I have written a compact but fairly complete awk implementation intended to integrate with toybox, but it can also build standalone. This implementation is named wak, because all the good awk names are taken. But when used in toybox, it’s just awk, or toybox awk. wak is coded in C

                                      • オブジェクト指向宗教史

                                        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

                                              • GitHub - nanochess/bootLogo: Logo language in 508 bytes (x86 boot sector)

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  GitHub - nanochess/bootLogo: Logo language in 508 bytes (x86 boot sector)
                                                • 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」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”
                                                        • CS 6120: The Self-Guided Course

                                                          Syllabus Schedule Lessons Zulip Discussions Blog CS 6120: Advanced Compilers: The Self-Guided Online Course CS 6120 is a PhD-level Cornell CS course by Adrian Sampson on programming language implementation. It covers universal compilers topics like intermediate representations, data flow, and “classic” optimizations as well as more research-flavored topics such as parallelization, just-in-time com

                                                          • [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
                                                                        • Visualizing Packrat Parsing

                                                                          January 10, 2021 Ohm is an open-source parsing toolkit for JavaScript which Alex Warth and I have been working on since 2014. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages. This article is not about Ohm itself, but about the Ohm visualizer, which I designed and built in 2015 while working on Alex’s team at CDG.1 Later, t

                                                                          • Implement tcl in tcl

                                                                            Maybe someone has already done this. But the question in my mind is how much of Tcl can be implimented in Tcl itself. Obviously you can't implement system calls in Tcl, but you could implement just about everthing else. What commands/parts of Tcl would be in the minimal set? Earl Johnson Minimal set"set" both scalar and array modes."eval" command"unknown" "string index" command"string length" comm

                                                                            • 使いたい標準C++機能がない環境でいかに実装・設計するか

                                                                              Prepare for Jakarta EE 11 - Performance and Developer Productivity

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

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

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

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

                                                                                    C++ MIX #9