2009-08-17から1日間の記事一覧

文字列リテラルの型

ロベールのC++入門講座 05-13文字列リテラルの型は正確にはconst char型の配列だそうです。てっきりポインタ型だと思っていました。自分の目で確認するため、sizeofしてみました。 #include <iostream> using namespace std; int main () { cout << sizeof("foo bar ba</iostream>…

int();とint(i);とint(1);の違いについての謎

C++

int i;とint(i);の違いについて - (void*)Pないと の続きです。括弧ありとなしで同じかと思ったんですが、どうも渡す引数によって挙動が変わるようです。とりあえず以下の例を。 int main () { int(); int(i); int(100); return 0; } これらは全て問題なくコ…

int i;とint(i);の違いについて

C C++

色々勉強したり試したりしてて分からないことがあったので記録。以下のようなコードなのですが int main () { int(i); int j; return 0; } CでもC++でも問題なく動きます。つまりこれは変数宣言する際に、括弧で囲っても囲まなくてもまったく同じ意味になる…

ストリームイテレータ

C++

http://www.geocities.jp/ky_webid/cpp/library/014.html出力や入力に対してイテレータを使って値のやり取りができます。そのようなイテレータのことをストリームイテレータを言うようです。まずは出力ストリームの動作を確認してみます。 #include <iostream> #includ</iostream>…

挿入イテレータ

C++

http://www.geocities.jp/ky_webid/cpp/library/013.html値の追加を行うことができるイテレータのことを挿入イテレータを言います。とりあえず実装してみます。 #include <iostream> #include <list> using namespace std; int main () { typedef list<int> listint; listint data</int></list></iostream>…

参照の戻り値に対して代入する

C++

メンバ関数に代入する - (void*)Pないとの時にも調べたのですが、メンバ関数に限らず戻り値が参照の場合にその関数を左辺値として扱うことができるようです。 #include <iostream> using namespace std; int& foo (int& num) { return num; } int main () { int num = </iostream>…