ラベル Eclipse の投稿を表示しています。 すべての投稿を表示
ラベル Eclipse の投稿を表示しています。 すべての投稿を表示

2011年10月10日月曜日

[C++] staticメンバ変数・関数とconstメンバ変数・関数

C++を勉強し始めて一週間。
個人的に覚えにくい、イメージしにくい事柄をメモっとく。

- staticメンバ変数
 - staticがついたメンバ変数は、プログラムの実行から終了まで静的領域に確保される
 - インスタンス化された複数のオブジェクトから参照できる


 - cppファイル内で一度だけ初期化される(ファイルスコープ扱いなので)
 - 初期化は、
  - int Hoge::max = ... という感じでクラスの外に書く
  - クラス定義ではできない
  - コンストラクタで初期化してはいけない 
   - オブジェクトが生成されるたびに、staticメンバ変数の初期化が実行されるから

- staticメンバ関数
 - staticメンバ変数にアクセスするための関数
 - thisポインタを持たない
 - オブジェクトを介さなくても使える。 int result = Hoge::get_max()


- constメンバ変数
 - 全てのインスタンスに対して共通にconst : static const int max = ...
 - なのでクラス内で初期化してよい

 - 扱う定数の値をオブジェクトごとに変更したい場合はコンストラクタで初期化する
   - その際は初期化の順序に気をつける
    - オブジェクト生成時に値の無いconstメンバ変数ができてはいけない
    - なので初期化リストを用い、先に初期化をしてからオブジェクト生成
     - Hoge() : max(3) { ... // max(3)は初期化、max = 3は代入

- constメンバ関数
  - その関数を実行しても、メンバ変数の値が変わらないことを保証している関数
  - メンバ変数を変更することはできないし、非constメンバ関数を呼ぶこともできない


実際の所、staticやconstはどの程度利用されるもんなんだろう?

2011年10月6日木曜日

[eclipse 3.7] Ubuntu 11.04にeclipse 3.7

本家から持ってこないとCVSかなんかが使えなかった記憶がある(と前にも書いた)ので、本家から持ってくる。今回はもう少し詳細にメモ。

1. 本家からパッケージをダウンロード。今回はEclipse IDE for C/C++ Developers。

2. ダウンロードしたら「右クリック」→「ここに展開」

3. できたフォルダをhomeの直下にでも置く。

4. コマンドラインでeclipseと打てば起動するように環境変数を設定する。

 $ chmod 666 .bashrc
 $ emacs .bashrc
 一番下に"export PATH=$PATH:~/eclipse"を追加。保存してemacsを閉じる
 $ chmod 644 .bashrc

5. コマンドラインを再起動すればeclipseコマンドが使えるように

(2011/10/06 追記)
C/C++エディタの注釈(ポップアップ?ウィンドウが黒くて見にくいので、直し方→ここ

2011年5月22日日曜日

[Ubuntu] eclipde CDK で関数定義を確認するポップアップウィンドウの色を変更

デフォルトが黒で見にくすぎ。

「システム」→「設定」→「外観の設定」→「カスタマイズ」→「色」タブ→ツールチップの色を好きな色に。

[Ubuntu] eclipse3.6にsubversionとCDKをインストール

subversionのインストールはここにまとめた。

CDK (C/C++ Development Tools)は、「新規ソフトウェアの追加」→「Programming Languages]→「C/C++ Development Tools」でインストールすればおけ。

TABサイズと、TABキー押したときにすべてスペースで挿入されるようにしたければ、「ウィンドウ」→「設定」→「C/C++」→「Code Style」→「New」で既存のスタイルを適当に編集すればいい。