Sapporo.cpp & CLR/H 合同勉強会 ( http://atnd.org/events/33614 ) で発表したスライドです。
![C++ ポインタ ブートキャンプ](https://cdn-ak-scissors.b.st-hatena.com/image/square/4a6dd9499e320c44cdf42206f848d9fdca531ebc/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fc-pointer-bootcamp-121117030414-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Sapporo.cpp & CLR/H 合同勉強会 ( http://atnd.org/events/33614 ) で発表したスライドです。
2年ちょっと前にC++で書いた非侵入的参照カウント方式のスマートポインタ実装を発掘した. スマートポインタの実装にはC++の様々なマニアックな実装手法が隠れていて面白い. せっかくなので, 解説つきで晒すことにした. このスマートポインタはboost::shared_ptr (以下単にshared_ptr)相当のもので, 当時C++のコードを書かないといけない状況下で「boost使っちゃらめぇぇぇ!」とか言われたために, せめてshared_ptrだけでも抜き出して使おうとしたものの, 依存しているファイルの数が思ったより多くて面倒になったので, 1ファイルで完結する簡易実装を自分で書くことにした, という経緯で生まれたもの. 似たような状況では有用かも知れないし, shared_ptrのソースコードを読む助けにはなるかも知れないけれど, 基本的にはboostが使えるなら素直にshared
August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) スマートポインタとは? 特に難しいことはありません。 「動的に確保されたオブジェクトを所有し、オブジェクトが不要になった時点で自動的に破棄してくれる、賢い(スマート)ポインタ」です。 ここでは、STLのスマートポインタ(auto_ptr) について説
In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...
自分のオブジェクト メンバ関数では、通常の関数とは異なりthisポインタが存在します thisポインタとは、メンバ関数が実行された時のオブジェクトのポインタをさします これまでメンバ関数内でメンバ変数を指すとき、メンバ変数を直接名指しで指名しましたが 実際はthisポインタを省略した形であると考えることができます また、thisポインタはメンバ関数内で自分のオブジェクトを操作する時に必要になります 例えば、メンバ関数から他の関数に自分のオブジェクトを渡す時などに使用されます thisポインタは、メンバ関数が開始された時から存在します そのため、宣言などはなくメンバ関数内ではいつでも使用することができます #include <iostream> using namespace std; class Kitty { public: char *str; Kitty(char *str) { t
ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 本記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは本記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の本質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W. Reeves 氏に,
こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 本エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、Windows、MacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は本家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな
まだ途中。書き次第随時追記していきまする。間違いとか分かりにくい表現があったら遠慮無く指摘してくだしあ。
C++ Language Introduction Compilers Basics of C++ Structure of a program Variables and types Constants Operators Basic Input/Output Program structure Statements and flow control Functions Overloads and templates Name visibility Compound data types Arrays Character sequences Pointers Dynamic memory Data structures Other data types Classes Classes (I) Classes (II) Special members Friendship and inhe
「Kyoto Tycoonの設計 その四」改め、50行でWebサーバを書く方法を解説する。前回実装した「多重I/Oマルチスレッド汎用TCPサーバ」の上にHTTPの処理を行う層をつけて、「多重I/Oマルチスレッド汎用HTTPサーバ」を司るクラスを実装してみたので、それを使ってちょちょいとやる。 URLクラス HTTPと言えばURLが使えないと意味がない。URLは単なる文字列として扱ってもよいのだが、様々なシーンで分解や加工が必要になり、その処理はなにげに複雑で面倒なので、予めクラスとして導出しておいた方がよいだろう。 class URL { public: // 文字列のURLを解析して内部構造を作る void set_expression(const std::string& expr); // スキーム要素を設定する void set_scheme(const std::string&
2010年01月(1) 2009年12月(4) 2009年11月(1) 2009年08月(1) 2009年07月(2) 2009年03月(4) 2008年11月(2) 2008年10月(2) 2008年09月(6) 2008年08月(14) 2008年07月(4) 2008年06月(5) 2008年05月(7) 2008年04月(3) 2008年03月(9) c.vim - C/C++-IDEプラグインの概要 プログラムのコメント, ステートメント, 関数などのテンプレートを挿入してくれるようになるプラグイン。 他にもC++用の辞書ファイルがついてきたり、F9キーでコンパイルできるようにしてくれたりするようだ。 インストール ここからダウンロードして、解凍後、各ディレクトリにコピーすればOK ※ c-supportは$VIM/vimfiles/の直下にコピー ※ 既に同名のファイルがある場
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く