link もっと前
   2006年 3月 27日 -
      2006年 3月 27日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

Armadillo の aptitude が死んでしまう問題は、エラーでコケるパッケージをdpkg --force-all -i hogehoge って無理やりインストールしたら直りました。しかも aptitude upgrade したらそのパッケージが削除されました。あーん?こんなんで良いのかいな、オイ。

昨日、参照の話が出てきたのでそれに関連した話をば。C++ の参照って微妙にわかりづらいと思います。
例えば int func_a(int &arg) {arg++;}; なんて関数があると、呼び出すときは int i; func_a(i); と書きます。見た目は値渡しで呼んでそうなのに、実は値が変えられてしまう気持ち悪い現象が起きます。
どうも C++ は C の拡張版であるという色眼鏡がかかってしまって、C の全て値渡し呼び出しというルールとぶつかって参照がややこしく感じます。実際に使おうと思っても関数定義を見るまでは、参照渡しで変更される可能性があるのか、単なる値渡しなのかが呼び出し側からぱっと見わからないから、面倒なんですね…。

では、どうしているかというと、参照で渡すときは const 参照しか使いません。もし関数側に変更する意思があるなら、ポインタを受け取る(ポインタ渡しは & が付くのでわかる)ようにします。C++ なのにポインタとはかなり C ライクな書き方ですが、参照渡しなのにうっかり C の値渡しだと思って原因不明のバグに悩むよりはマシかなと思います。

[編集者: すずき]
[更新: 2006年 11月 19日 16:16]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2006年 3月 27日 -
      2006年 3月 27日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 12/10 12:33

カレンダー

<2006>
<<<03>>>
---1234
567891011
12131415161718
19202122232425
262728293031-

最近のコメント 5件

  • link 18年11月28日
    すずき 「Linux に contribute す...」
    (更新:12/10 12:33)
  • link 18年11月28日
    T4 「やっぱり貴方でしたか、ご苦労さまでした。...」
    (更新:12/05 09:20)
  • link 18年11月28日
    すずき 「RK3228 じゃなくて RK3288 ...」
    (更新:12/05 02:19)
  • link 18年11月28日
    すずき 「ありがとうございます。Linux のコミ...」
    (更新:12/05 02:04)
  • link 18年12月01日
    すずき 「私も最初、HDD, SSD は使いまわそ...」
    (更新:12/04 12:49)

最近の記事 3件

link もっとみる
  • link 18年11月29日
    すずき 「[ROCK64 のアナログオーディオが動いた] 先日(2018年 ...」
    (更新:12/03 10:21)
  • link 18年12月01日
    すずき 「[PC パワーアップ計画] 普段、家の PC のパワー不足を感じる...」
    (更新:12/02 18:32)
  • link 18年11月28日
    すずき 「[ROCK64 の I2S1 が動いた] 先日(2018年 11月...」
    (更新:12/02 16:34)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報