タグ

c++に関するkupoeのブックマーク (12)

  • C FAQ 1

    6.1: あるソースファイルでchar a[6]と定義して、別のファイルでextern char *aと宣言した、なぜこれはうまくいかないのか。 A: extern char *aという宣言が、実際の定義とい違うからである。 「タイプTへのポインター」は「タイプTの配列」とは異なる。extern char a[]を使え。 References: ANSI Sec. 3.5.4.2; ISO Sec. 6.5.4.2; CT&P Sec. 3.3 pp. 33-4, Sec. 4.5 pp. 64-5. 6.2: でもchar a[]はchar *aと同じと聞いたことがあるが。 A: 全然別のものである(君が聞いた話というのは、関数の仮引数の話だ。 質問2.4参照)。配列はポインターと違う。配列の宣言「char a[6]」 は6文字分の領域を確保して、それを「a」という名前で識別すること

    kupoe
    kupoe 2012/12/22
    配列とポインタは同等に扱える、とは
  • 画像処理に役立つ主なコードの使い方

    画像処理に多く用いられるコードを整理して紹介する。下図は、画像を移動したり変換したりする基的な操作を図示したもので、矢印についている丸で囲んだ数字は、解説の番号を示す。 Imageクラスは、抽象基底クラスであるので、原則として、これを継承したBitmapクラスを使用する。ただし、Imageクラスとして画像ファイルを読み込み、それをPitureBoxやFormに貼り付けることができ、再び画像ファイルに保存する程度の簡単な操作はできる。 Bitmapクラスは、Imageクラスからの派生クラスで、SetPixelやGetPixelのメソッドが付加されているので、ピクセルレベルでの画像処理に適している。 画像処理では、画像ファイルをBitmap画像として読み込み、Bitmap画像の各ピクセルをColor構造体として取り出し、RGB値に分解して、これらを処理し(これが画像処理)、再び逆のステ

    kupoe
    kupoe 2012/12/22
    画像処理に多く用いられるコードを整理して紹介している。
  • 1次元配列

    kupoe
    kupoe 2012/12/22
    c++っていうかc言語での配列について
  • サービス終了のお知らせ

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

    kupoe
    kupoe 2012/12/22
    newとかdeleteの話
  • 配列の動的確保

    まず、動的確保ってなんなの?って人もいるかもしれないのでその説明から始めます。 C/C++ では、配列のサイズというものは必ずコンパイル時(静的)に分かってなければいけません。 double a[10]; // OK int n; cin >> n; // キーボードから入力 double b[n]; // NG コンパイルエラーになる 配列を確保するときには a[10] のようにサイズは定数でなければならず、int n のような変数をサイズに使うことはできません。 (const int は可、変数ではなく定数だから。) 配列のサイズを実行時(動的)に決めたい場合に動的確保というの行います。 #include <stdlib.h> int n; double * b; scanf( "%d", &n ); b = (double *)malloc( sizeof( double ) * n

    kupoe
    kupoe 2012/11/19
    ちなみに、 C++ であれば malloc を使う意味はないので、全部 new[] にしてしまいましょう。にも注目。
  • C言語のポインタはメモリを想像できれば理解できる | 100% Pure NEET

    最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ

  • C++ ポインタ ブートキャンプ

    Sapporo.cpp & CLR/H 合同勉強会 ( http://atnd.org/events/33614 ) で発表したスライドです。Read less

    C++ ポインタ ブートキャンプ
  • C/C++の配列の宣言と要素の表し方 - builder by ZDNet Japan

    コマース広告の大変動 プライバシー保護とパーソナライズの狭間で マーケティングの効果を最大化するためには 新OSのWin11はどう進化したか ビジネス上の役割、開発の要因と Win11が目指した5つのポイントを紹介 これからの社内DX 真のDXのため、まずは社内のデジタル化を DXのファーストステップのヒント オリジナルコンテンツが満載! 意外と知らないNutanix HCI の情報を集約 読めばわかる!いまHCIが注目される理由 最新ストレージで変わるIT運用 仮想化テクノロジーとFlashArrayの組合せで 運用負荷軽減と高性能化を実現したDMM 勝つためのクラウド活用術 New Value on Azure ビジネスを次のステージへ! 仮想環境データ保護の新次元 高度化・複雑化するIT環境の課題への解決策 最新鋭データ保護・管理ソフトウェア基盤 ID管理の基礎知識 新しい働き方にお

    C/C++の配列の宣言と要素の表し方 - builder by ZDNet Japan
    kupoe
    kupoe 2012/11/16
  • ポインタ

    メモリアドレスの秘密 C言語によるプログラミング技術の中で、もっとも大切なものの一つがポインタです 一度でもC言語に触れたことがある方ならば、ポインタに対して「難しい」というイメージがあるかもしれません 実際、筆者も最初は抵抗がありました しかし、ふたを開ければ大したことはありません 肝心なのはプログラム知識よりも、コンピュータアーキテクチャ(というほど大げさでもないが)の知識です ポインタはメモリと深い関係があります では、題に入ります ポインタとはそもそもなにか、簡単に言うと変数の一種です これまで私たちは変数を扱ってきました。変数で文字列を扱うこともできるようになりました ポインタも変数です。難しいことはありません ポインタも変数なので、よくポインタ変数とも呼びます 問題は格納するものです。ポインタには変数のように定数を直接代入するわけではありません ポインタにはメモリアドレスを代

  • 08-C言語の要「ポインタ」

    C言語の要「ポインタ」 コンピュータのメモリ構造と変数の関係を通し、C言語の特徴であるポインタを理解する ではこれからC言語の中で最もよく使われ、C言語の要である「ポインタ」について説明をします。これを理解すると、今まで何も言わずに隠してきた「文字列をどう扱うか」という問題や、「キーボードから文字を入力するには」という事の理解の助けになります。 変数はどこにある? ●メモリは土地、アドレスは住所 メモリとは、右の図のように1byte(0〜255)がながーく縦につながったものと考えられます。そしてその先端から0,1,2…とアドレスがふられています。例えると、メモリは土地、アドレスは住所と考えることができます。そして、今後の説明のために、メモリの内容を「立て札に書かれた文字」とすることにします(ん〜強引だなぁ...)。つまり、下の絵一つが1バイトで、立て札には「0〜255」までの数字が書けま

  • ->、*、&、[]演算子って奥深いっすよ

    ホーム < ゲームつくろー! < C++踏み込み編 < ->、*、&、[]演算子って奥深い その1 ->、*、&、[]演算子って奥深い 「->」「*」「&」そして「[ ]」演算子は、ポインタ関連を扱う演算子です。これらの関係を曖昧に捕らえていると、関数の引数や戻り値、演算子のオーバーロードなどで大混乱を起こします。私は・・・起こしました(笑)。そこで、これら演算子の振る舞いをまとめてみました。頭で箱と矢印を描きながらご覧下さい。 ① メンバ選択演算子「->」は右辺値が大事 「->」これはメンバ選択演算子というのだそうです(MSDN)。アロー演算子と呼ぶ人もいます。これは「後置演算子」、つまり演算子の左側の値(左辺値)を使います。 メンバ選択演算子の左辺値に来ることが出来るのは通常「クラスのオブジェクトへのポインタ」です(「通常」じゃない場合については後述)。一般的なポインタ変数(int*型

    kupoe
    kupoe 2012/11/14
    ポインタ理解の参考にも。
  • Beyond Interaction 3-2-9 動画の再生 RGBそれぞれのピクセルの明度を取得について « openFrameworks.jp forum

    kupoe
    kupoe 2012/11/11
    イメージとしては、動画のピクセル情報を、上の行から順番に、左から右にピクセルをスキャンしていると考えてください。 この例では、動画の幅が320pixelなので、現在スキャンしている列までで、既に320x現在の行数(=j)の
  • 1