gakkieのBlog

[Effective C++]1章2項

このエントリーを含むはてなブックマークはてなブックマーク - [Effective C++]1章2項 この記事をクリップ!Livedoorクリップ - [Effective C++]1章2項 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

先月C++について先輩に質問をしたらBlogの記事になっていました。
自分の質問を数倍高度にして記事に昇華されていましたが、

Effective C++ にも載ってます。

なんて言われたら読むしかない。

ってことで読み始めました。
まだまだレベルが低いので最初からゆっくり読んでいきます。

今日は1章2項の「#defineより、const、enum、inlineを使おう」を読みました。
で、たいしたことないんですが気になったところだけメモ。

constで気になった

まずヘッダファイル。
先輩にならってクラス名はCで。
[cpp]
#ifndef __C_H__
#define __C_H__

namespace ns {
class C {
public:
//const static double pi; // (a)
const static double pi = 3.14; // (b)
};
}

#endif
[/cpp]
プログラムはこんな感じ。
[cpp]
#include
#include “C.h”

using namespace std;
using namespace ns;

//const double C::pi = 3.14; // (a)

int main(void)
{
cout << C::pi << endl; } [/cpp] たいしたことはないんですが、 (a)をコメントを有効化して(b)の部分をコメントアウトしても、 同じように使えるっていうことに違和感。 宣言と初期化は違うってことですが、 なんとなく気になった内容でした。




Leave a Reply