タグ

2014年8月12日のブックマーク (7件)

  • 汎用ポインタ

    void型ポインタ ポインタについては、ここまで読み進んできた方ならすでに自身があると思います しかし、通常のポインタ型以外に特殊なポインタ型があります ポインタ型でのみ存在する特殊な型で汎用ポインタと呼ばれるものです 実は、型名はよく見なれていますがvoid *型なのです * が付いているのが異なる部分ですね void型は、しつこいようですがポインタ型でのみ使用できるものです 通常の変数にはvoid型は存在しません これはどのような型かというと、あらゆるポインタ型に変換できるポインタ型です 多くはどのような型も受け取れる関数を作成するのに使用されます 汎用ポインタを使用すれば、ポインタ型であればどのような型でも受け取ることができます void型のポインタを逆参照するには必ず型キャストします キャストはC言語では任意ですが、C++では必ず必要となります void型ポインタはどのデータ型にも

  • 記憶クラス

    auto指定子 C言語では、変数の保存方法をさらに細かく指定することができます この、変数の保存方法の詳細を指定するのが記憶クラス指定子です C言語の中でもっとも意味のないキーワードのひとつでもあるのですが 自動変数であることを指定するauto指定子が存在します リファレンスでは見かけますが、実用されているソースはほとんど見たことがないでしょう 自動変数とはローカル変数のことであり、C言語では指定する必要はありません この指定子は過去の言語の互換性(バックワード・コンパティビリティ)のために残されているのです 過去の言語とは、C言語の前のB言語との互換性らしいです #include <stdio.h> char str; int main() { auto char str[] = "Kitty on your lap"; printf(str); return 0; } auto指定子は

  • C言語入門(21)定数constとdefineの違い - Rui software

    Posted: 2013年01月03日 ツイート ツイート 定数宣言は、constまたはdefineを用いることで 可能です。 宣言方法が異なりますがどちらも定数を宣言可能です。 では、なにが違うのか!! constは、変数宣言で使用可能です。 定数変数の宣言が可能になります。 defineは、定数に別名を割り当てることができます。 defineで設定したものは変数ではなく数字に「CN_MAX」を割り当てただけになります。 defineは特殊で実際にコンパイルされるときには、defineの値は、割り当てた値に変換されています。 実行時には、定数として扱われることになります。 それは、コンパイル前のプリプロセッサでCN_MAXを50に置換する処理が実行されるためです。 つまり、defineはテキストエディタの置換機能のような処理を行なってくれます。 なのでdefineには、何でも記述すること

  • bitbucketの使い方

    Elevate your software delivery from planning to production and beyond, with built-in AI, CI/CD, and a best-in-class Jira integration.

    bitbucketの使い方
  • 【C++】ファイルの読み込みまとめ - めめんと

    ファイルの開き方 C++でファイルを開くときはfstreamヘッダをインクルードする必要があり、この中のifstream(インプットストリーム)を使用します。例えば「test.txt」を開くときは以下のようになります。 std::ifstream ifs(“test.txt”); std::string str; ifs>>str; std::cout<<str<<std::endl; ファイルを閉じるときはcloseメソッドを使えばよいが、特に使用しなくても勝手に閉じるので使わない場合が多いです。 読み込みに失敗したかどうか判定するにはfailメソッドを使えばできます。 if(ifs.fail()) { std::cout<<”読み込みに失敗しました”<<std::endl; } また、バイナリで開くなどの指定も可能。 モード 意味 ios::app 追加出力 ios::ate 開く時に

    【C++】ファイルの読み込みまとめ - めめんと
  • 参照とポインタ

    この文章はプログラマでもプログラミング言語の専門家でもないただのプログラミング好きの私が適当に書きつづったものです。よってこの文章には正しい箇所もあるでしょうが、間違っている箇所もかなりあるはずです。ご指摘いただけたらと思います。また、この文章を読んでも内容を鵜呑みにしないでください。鵜呑みにした結果何か起きても知りません。 "諸悪の根元"-ポインタ Cの特徴の1つとして、また初心者が必ずつまずく(*)とされる難所としてポインタがあげられるわけだが、ポインタはどうも最新流行のプログラミング手法の中では諸悪の根元として忌み嫌われているようだ。 (*) 自慢するわけではないのだが、私は別にポインタでつまずいた記憶はない。もちろん、効果的な使い方などはその後いろいろなコードを読んでいく中で身に付いていったわけだが。 ポインタは確かに諸刃の剣である。非常に便利な反面、危険でもある。例えば次のような

  • C++例外処理プログラミング

    [ C++で開発 ] 例外処理プログラミング 戻り値によるエラー通知ではなく、より障害に対する耐性を高めるためのシステムとしてC++言語に導入されたのが例外機構です。この例外処理はC++に限らずオブジェクト指向言語の多くに導入されています。 throwとcatchの書き方 3つの方法:ポインタ渡しか値渡しか参照渡しか 関数宣言のthrow:例外仕様 単純なunexpected/terminateの実装 例外の考え方 例外を使用する/しない 例外処理をする/しない スタックフレームを保持する例外 Exceptionクラス TraceExceptionクラス Linuxのbacktraceシステムコール backtraceを用いた例外クラスの実装例 throwとcatchの書き方 3つの方法:ポインタ渡しか値渡しか参照渡しか (節の記述は、書籍「More Effective C++」の§13