Category Archives

Home >より良いC

より良いC

スポンサーサイト
...
--------
左辺値のように振舞う一時オブジェクト
非常に遅くなってしまいましたが、新年明けましておめでとうございます。本年もよろしくお願いいたします。今回から何回かに渡って、重箱の隅を突くようなネタですが、一時オブジェクトを取り上げたいと思います。一時オブジェクトは、式の評価結果として生成されるオブジェクトで、演算の結果や関数の返却値がそれにあたります。C言語にも一時オブジェクトはありますが、現実の問題として、ほとんど意識する必要はありませんでし......
2006-01-12 | Comment : 0  | Trackback : 0 
列挙体
 Cから継承した言語要素うち、列挙体は大きく仕様が変わったものの一つです。CとC++で共有するヘッダファイルで列挙体を使うと、思わぬ落とし穴にはまることがありますが、その辺を割り引いても、列挙体は非常に便利であり、C++では欠くことの機能になっています。 Cでは、列挙定数は必ずintでした*1。しかし、C++では同じ列挙体に属している列挙定数(列挙子)がすべて収まるサイズになります*2。そして、その型は、intやlongな......
2005-10-07 | Comment : 0  | Trackback : 0 
空ポインタ定数
 空ポインタ定数というのは、いわゆるNULLのことです。厳密には、0に評価される汎整数定数式のことを指します。空ポインタ定数は、いかなるオブジェクト型、不完全型、関数型へのポインタとも等しくなりません。歴史的な経緯からC++ではNULLより整数リテラルの0が使われることが多いようです。CではNULLマクロが(void*)0に定義されることもありますが、C++では、NULLマクロは通常0または0Lに定義されます。これは、C++ではvoidへ......
2005-10-06 | Comment : 1  | Trackback : 0 
関数main
 Cと同じようにC++でもプログラムは関数mainから始まるわけですが、フリースタンディング環境の場合はこの限りではありません。組み込み環境の多くはフリースタンディング環境にあたるものの、実際には分かりやすいこともあって、アプリケーションを関数mainから始まるように書くことも多いかと思います。今回は、C++で関数mainを使うときの注意事項についてお話します。 Cでは、関数mainは、最初に呼び出されることを除いて、他......
2005-10-05 | Comment : 0  | Trackback : 0 
コメントと文字コード
 しばらく組み込みとは直接関係のない話題が続いていますが、今回はコメントに日本語を使うときの文字コードについてのお話です。文字リテラルや文字列リテラルにマルチバイト文字を使った場合の問題点についてはよく知られています。例えば、シフトJISを使った場合、2バイト目が0x5cの文字はバックスラッシュと誤認されて文字化けしたり、引用符が閉じなかったりする問題です。Cスタイルのブロックコメント(/* ~ */)の場合、......
2005-10-04 | Comment : 4  | Trackback : 0 

C++と組み込み環境 | Page Top▲

Navigation
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。