忍者ブログ
淡々とお仕事のお勉強をするよ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

突然ですが C++ の勉強です。参考ページは C++ 入門を選びました。3 まで。

C++ で Hello World

cout << "hello" << endl;

いきなりこの記述になるのが C++ の特殊性を感じさせすぎて Hello World で引き返してしまった経験のある人も多いんじゃないか。自分のことだけど。
しかし、

  • JavaScript: document.write('こんにちは、' + name + 'さん。\n');
  • Perl: # ヒアドキュメント
    print <<HELLO_WORLD;
    こんにちは、$nameさん。
    はじめまして !
    HELLO_WORLD

に対して

printf("こんにちは、%sさん。\n",name);

なので、むしろ C が特殊なのではという気もしてくる。あまり意味のない感想。

cout / cin

実際は std::cout 、std::cin 、std::endl。 using namespace std; 宣言で std:: を省略できる。

参考リンク

std::cout - ...ing logging 3.0

パッと思いついたメリットは次の2つ.

  • printf では型指定を間違うとクラッシュする問題があったが,std::cout では型を自動認識してくれるためこの問題が起こらない.
  • オブジェクトなので関数やクラスに渡して持ち運びできる.
PR

プラットフォームは Linux と *BSD ばかりだけど、頼りになりそうなのでメモ。

Valgrind Home
言わずと知れた公式ページ。今の最新バージョンは 3.3.1 らしい。
C(++)言語: valgrindの使い方
2006年の情報らしいので注意。
Valgrind - Wikipedia
Memcheck が一番人気らしい。どうしても仕様上遅くなるし、メモリの使用量も増える。限界もある。
C/C++ and valgrind
簡単な説明。検証サンプルあり。
ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-
valgrind --leak-check=yes 実行ファイル名でメモリリークの検証が出来る。
メモリリーク « Kazusan’s Weblog
–tool=massif で時間とともに変わるメモリ使用量を Postscript 形式でグラフにしてくれる。
仙石浩明の日記: x86_64 Linux でメモリ・デバッグ・ツール Valgrind を使う場合の注意点
64bit 問題。

ときどきの雑記帖 i戦士篇 2008年1月22日 (via ++i が lvalueになれるから - みねこあ) より。

ああ、C++ で使う何かかとは思ったけど、左辺の値のことだったのか。

法大奥山研究室:C言語:5. 単純代入演算子 =

元来,代入演算子の左辺側にとれるものを「左辺値」と呼んでいた。仕様(C99)では,オブジェクト型,あるいは void 以外の不完全型の式を左辺値という。[C99, 6.3.2.1, 1] 代入演算子の左辺側にとれる変数は,仕様(C99)に基づくと,変更可能な左辺値(modifiable lvalue)と呼ばれているものになる。[C99, 6.15.6, 2] これには不完全型は含まれない。

13.Variables

標準 C++ では、全ての式は lvalue(左辺値)ないし rvalue(右辺値)です。

なるほど。

lvalue(左辺値)

元々 Left Value だったけど、今では Locator Value らしい。

C++

はてなブックマークからざっと探してみた (google だと、ただの C と区別がつかないと思ったので) けど、全く関係ない記事と、ごくごく初歩的な話に二極化している気がする。

C++テンプレートでFizzBuzz - おびなたのはてな日記
テンプレート、部分特殊化
C/C++のイロハ:メモリ管理からオブジェクト指向まで:特集 - builder by ZDNet Japan
丁度いいタイミングで。
GDB
デバッガ。 C でちょっと使ったことがある。
WinUnit: Simplified Unit Testing for Native C++ Applications -- MSDN Magazine, February 2008
.NET Framework の何か。
忍者ブログ [PR]


Designed by A.com
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新TB
バーコード
ブログ内検索
アクセス解析
プロフィール
HN:
tnmt
性別:
非公開
(image created by E-Mail Icon Generator)