Infra Study 2nd #4「セキュリティエンジニアリングの世界」 https://forkwell.connpass.com/event/219136/
はじめに C++はbetter Cとよばれる、C++でもクラス及びテンプレートを使わない手法で使われることがある。また、テンプレートを全面禁止して使われることもある。さらにはクラスにおいて、多重継承が禁止されたりすることもある。これらはC++の黒魔術を封じ込めるためになされる。C++は大変危険なのだ。 C++で黒魔術を書くためには、このページに書いてあることは当然全て理解して使えるようになる必要があるが、それだけでは足りない。このページではC++がいかに複雑奇怪な言語であるかを、C言語を習得した人に向けて示すために要点を押さえて解説してある。C言語すら怪しい方は今一度C言語の復習をして頂きたい。 C++の黒魔術は、 テンプレート 多重継承 あらゆる演算子の定義 ラムダ式 によって構成されている。これらを駆使することで(後でそのプログラムをメンテする人、或いは後輩が)死ぬ。 ほんとうは、 自
Last revised on May 25, 2000 UNIX & XWindow 環境における C/C++プログラミング言語の基礎とその計算物理への応用を解説します。 このホームページの古い版の偽ミラーサイトが存在するのでご注意ください。 本物のサイトは http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/ です。 前書き 推奨図書一覧 C言語とC++言語の基礎文法の初心者向け解説 (プログラム初心者を対象としたC/C++言語の入門です) 第1章 C言語とC++言語の役割 第2章 簡単な計算 第3章 ループで繰り返し計算 第4章 配列で大量データ処理 第5章 関数で計算の分担 第6章 文字列の操作 第7章 ファイルの操作 第8章 グラフィック(XWindow System利用者向け) 高校物理の計算例 (高校生を対象として初歩的な物
みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその
僕は先日、「コンパイル時Cコンパイラ」なるプログラムをつくって、公開した。 「コンパイル時Cコンパイラ」とは、コンパイルするとC言語プログラムのコンパイルが行われるというようなC++プログラムである。 C++のコンパイル中に C言語プログラムのコンパイルを行う、 "コンパイル時Cコンパイラ"をつくりました #ELVMhttps://t.co/kKiLU3rLFX— うどん (@kw_udon_) 2016年11月18日 自分で書いておいてなんだが、「なんのこっちゃ」という感じではある。(ちゃんと記事中で説明する。) 実際、変なプログラムではあるのだが、とても嬉しいことに多くの人に面白がっていただき、予想だにしなかった大きな反響をいただいた。 Hacker Newsで1位になったり、LLVMの公式ブログで紹介されたり、果てはC++の作者であるBjarne Stroustrupにも言及されるに
この項目では、プログラミングの手法について説明しています。 .NETの言語機能については「デリゲート (プログラミング)」をご覧ください。 権限の委譲については「権限委譲」をご覧ください。 他人に法律行為を委託することについては「委任」をご覧ください。 委譲 (英: delegation) とはオブジェクト指向プログラミングにおいて、あるオブジェクトの操作を一部他のオブジェクトに代替させる手法のこと。 概要[編集] 委譲を行うオブジェクトは委譲先オブジェクトへの参照を持ち、必要に応じてその参照を切り替える事で動作にバリエーションを持たせる事ができる。一種の実装遅延、プラグイン機構である。一例としては、オブジェクトの編集を行う時、編集の前処理、後処理を本処理と独立させ委譲先に任せる事で、オブジェクト本体の変更を最小限にとどめ局所性を向上させる、などがある。 操作の代替という観点では他に代理
概要[編集] 関わる者全てを、混沌と困惑と混迷の螺旋へと落とし込み、その長大な術式は術者の精神力をマッハで削る。初学者向けに蛇足ながら具体例を示すと、僅か5センチにも満たない術式に対し、警告が2メートルにも及ぶことなどはザラである。かの大殺界における盟主、また、Linuxという原理主義組織における師を自認するLinus Torvaldsをして、C++は複雑すぎると言わしめたほどの高等言語なのである。それを踏まえ、近代における再評価を加味するとつまり、複雑すぎて使えないという、仇花とも言うべき本質が明らかになりつつある論調を無視することは出来ない。 しかしながら、C++の特性、独特の長所があるというのも一面の事実ではある。それは、術者が高度に言語を理解している限りにおいては、高度に最適化された術式を出力できる点にある。X箱等と呼称され親しまれている民生用の呪術再生装置においては、術式再生にお
C/C++ を使うプログラマは大勢います。しかし、その多くは OJT を通して言語を学んだのではないでしょうか? 実はそこに大きな落とし穴があります。 コンピュータや工学のことをよく知らない人たちは、時代の先端を歩むプログラマには「迷信」など無関係だと信じて疑わないかも知れません。しかし、迷信や誤解はどんな世界にも常に存在しています。 というわけで、ここでは C/C++ にまつわる迷信、誤解、よくある間違いを採り上げていきます。非常に後ろ向きな企画ですが、暇つぶし気分転換に読んでみてください。もしかすると、ご自身が迷信にとらわれていたことに気付くかもしれません。 追記(2009/03/15) このコーナーでは、C/C++ にまつわる迷信、誤解、よくある間違いを扱っています。決して「迷信」だけではないのですが、タイトルにはすべて[迷信]を付けています。 これは、主に検索エンジンでタイトルを見
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く