C++

チュートリアルのRSSリーダーを作る前にHelloWorldでもつくってみなよ

前回やった,C++のチュートリアルが初心者にはあまりにも難しすぎたので, HelloWorldからやっていく事にした. ただし,C++のコード例は載っていないのでそこら辺は手探りでやっていきます. パート 1: "Hello, world" アプリを作成する (C#/VB と XAML を…

C++を使った初めてのMetroスタイルアプリでRSSリーダーでもつくってみなよ その3

エラーで悩んで週が明けました. と,今日の朝こういう記事を発見しました. 先週の時点ではなかった記事! 16日付,そしてGoogleの検索結果には16時間前という表示.チュートリアル2をやってみた | S.F.Pageなんと,チュートリアルにミスがあるという. 2…

C++を使った初めてのMetroスタイルアプリでRSSリーダーでもつくってみなよ その2

アプリ機能の指定 どうやら,Androidアプリみたいに使う機能のパーミッションを与える必要があるらしい. そして,manifestもでてくる.ということで,インターネット機能をアプリに追加.Package.appxmanifestを開いて, 機能>インターネット(クライアン…

C++を使った初めてのMetroスタイルアプリでRSSリーダーでもつくってみなよ その1

まー,よくわかんないけど,とりあえずチュートリアルをやりましょう.チュートリアル: C++ を使った初めての Windows ストア アプリの作成 (Windows) これね. プロジェクトの作成 上から進んでってー, Metroスタイルアプリプロジェクトを作成するには で…

C++/CXとは

C++/CXとは... とりあえず,CXはComponent Extensionsの略らしい.Wikipediaにも載っていない謎言語. 「C++/CX」を作成中 - Wikipediaと,思ったら,Windows Runtimeの項目に書いてあった. Windows Runtime - Wikipedia 以下引用. 新しいC++/CX (Compo…

C++のコンテナ vector メモ

C++

きっと,数学とか使うベクトルとおんなじ. 概念は.オブジェクトを格納するときは, デフォルトのコンストラクタ(仮引数なしのコンストラクタ) 演算子のオーバーロード ==演算子のオーバーロード が必要.使えそうな関数. size() ベクトルのサイズ begin()…

map memo

C++

写像. よくあるやつ. key,value重複したキーを使いたい時はmultimapがある.はpairオブジェクトとしてマップに保存される. pairのコンストラクタを呼ぶか,make_pair()関数を使う.find()でキーを探す. 存在しない場合は,末尾の反復子end()が返ってくる…

C++のコンテナ list メモ

C++

オブジェクトを格納するときは, デフォルトのコンストラクタ(仮引数なしのコンストラクタ) 各種演算子(,==,!=)のオーバーロード が必要.使えそうな関数. push_front() 先頭に値を追加 push_back() 末尾に値を追加 pop_front() 先頭の値を削除 pop_back(…

実行時型情報(Run-time Type Identification: RTTI)

C++

ようは実行時にオブジェクトの情報をゲットするための仕組み(だとおもう).JavaでいうとClassのforNameとかみたいなことをするためにあるのかな?? > Oracle Technology Network for Java Developers typeid オブジェクトの情報を取得できる. type_info&…

変換コンストラクタ

C++

なんか少し前, StrType st = new char[10]; とかやったらコンパイルが通ってしまった. 「StrType型なのにchar型が入るっておかしくね??」 と id:Silent-Bob が言っていたが,たしかにそのとおり.でも,C++には暗黙的に変換してくれる仕組みがじつはあっ…

配列ベースの入出力

C++

配列ベースの入出力は. #include <strstream> をインクルードする必要がある.そもそも配列ベースの入出力ってなに?出力用の文字配列を使用するときは,つぎのコンストラクタで出力ストリームオブジェクトを生成する. ostream ostr(char* buf, streamsize size, open</strstream>…

リンケージ(linkage)とasm

C++

他の言語とのリンクを容易にするために リンケージ指定子(linkage specifier) amsキーワード というのがある.リンケージ指定子は, 関数を多言語とリンクさせるためのもので, extern "<language>" void testFunction(); みたいに宣言する.複数宣言したい場合は, </language>…

const

C++

constはJavaでいうfinal.const関数からは呼び出し元のオブジェクトを修正できない.宣言方法は, int exFunction() const; とする.でも一部の変数だけ変更を許可したい場合は mutable をつかう. mutable int num; みたいに.あれだ. iptablesの運用方式…

static

C++

staticをつけると, その変数のコピーはひとつしか存在しなくなる.Javaとおなじやね.staticのメンバ変数はデフォルト0で初期化される.宣言はクラス内でして, 定義はクラス外でしなければならない. static 関数はstaticなデータを初期化するときに使うと…

変換関数(Conversion function)

C++

きょう,おれのTeach yourself C++が, ある方のオブジェクトを他の方のオブジェクトに変換すると便利なことがあります。 と言っていた. そいつを,うまいことやってくれるのが変換関数らしい.ほうほう.どんなことができるのかというと, オブジェクトをi…

名前空間(namespace)

C++

変数名やクラス名,関数名などの衝突を避ける仕組み. 名前のスコープをつくる. namespace <name>{ ... } 名前を取り込む. using namespace <name>; using <name>::<member>; 名前空間はファイルをわたって分割も可能.FileA namespace ringo{ int ringo; } FileB namespace ringo{ in</member></name></name></name>…

new 演算子の例外

C++

(もうちょっとちゃんと書く かもしれない) new 演算子でメモリを確保するときに投げられる例外は, bad_alloc try{ int x = new int[100]; }catch(bad_alloc ba){ cout << "メモリ割り当てエラー" << endl; cout << ba.what(); return NULL; //exit(1); } …

C++ boolean

C++

なんか,ちょくちょく紛らわしいのでメモ. trueは非ゼロ. flaseはゼロ. if(!p){ cout << "メモリ割り当てエラー" << endl; exit(1); } っていう書き方がなかなか慣れない. から, if(p!=NULL){ cout << "メモリ割り当てエラー" << endl; exit(1); } .こ…

boolean

C++

なんか,ちょくちょく紛らわしいのでメモ. trueは非ゼロ. flaseはゼロ. if(!p){ cout << "メモリ割り当てエラー" << endl; exit(1); } っていう書き方がなかなか慣れない. メモ.

c++の改行(\nとendl)

C++

何を書けばいいかわかりません. 備忘録という位置づけで.Web logですしね. アウトプット.アウトプット. c++を初めて一週間ですけど,疑問が一つ(一つどころじゃあないですが). いろいろなページやソース見ると,二通りの改行方法があるみたいです. …