タグ

仕様に関するyowanoのブックマーク (3)

  • C/C++ - 言語仕様編 第7回 ~インスタンスとオブジェクト~

    変数の宣言と定数変数型 C++において、変数の宣言は、スコープ内のいたるところで可能となる。 あるT型変数、またはリテラル t1 があるとき、 T const t=t1; のように、型名の後に const をつけると、tは、値としてt1を持ち、かつ、書き換えが出来ない変数となる。これをT型定数変数と呼ぶ。 ここで、tを const T t=t1; と初期化しても、tは、T型定数変数として機能する。このことから、tは、const T型変数であると してもよい。 C++において、定数変数は、それ自身が、リテラルとして機能することが許されるため、 たとえば、配列の要素数として、 int arr[t]={0}; などとして、t個の連続する0からなる配列を構築することが許される。 あるP型ポインタ変数、または、変数のポインタ p に対して、 P* const p1=p; P const* p2=p;

  • c++静的クラスについて。 - staticclassclassname{inta;voidfunc();.....};等と宣言すれば... - Yahoo!知恵袋

    c++ 静的クラスについて。 static class classname { int a; void func(); ..... }; 等と宣言すれば、classnameクラスのメンバは変数も関数もすべてstaticの属性を帯びると思っていたのですが、通常のクラス内でstatic変数を宣言した時のように、クラス外で再宣言する必要がないのはなぜですか? そういうもんだからなのか、それとも実はstatic class内のメンバすべてがstaticであるということが思い違いなのか。。。 ご回答よろしくお願い致しますm(_ _)m k032yfさん 確かにそうなんですが... 「static class内の関数にスコープ解決演算子をあてたclassname::func() = グローバル関数func()」という認識で用いると、「静的でないメンバ参照は特定オブジェクトを基準にした相対参照で」という

    c++静的クラスについて。 - staticclassclassname{inta;voidfunc();.....};等と宣言すれば... - Yahoo!知恵袋
    yowano
    yowano 2013/04/22
    C++には、C#に存在する『静的クラス』という概念が(標準のC++処理系には)存在しないらしい。この話とは無関係で全く余談ではあるが、静的オブジェクトは存在する。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    yowano
    yowano 2013/04/15
    『stringでは文字列の終端を空文字列で管理せずに、文字数で管理しています』ということらしい。ちなみに、c_str()では勿論『終端文字'\0'で終わる文字列へのポインタを返す』ようになっている。
  • 1