Home > C++ | Tips > C++トリビアルメモ(ポインタの参照)

C++トリビアルメモ(ポインタの参照)

  • 2008-01-08 (火) 23:33
  • C++ | Tips

平成20年ってほんと?ありえなくない?

VC++でポインタの参照を使ってみました。どういうことなのかよく分からないけど動いたから正しいに違いない。
コンパイラが神様です。
C言語の場合、引数で渡された変数に関数内で領域を割り当てる場合は普通(?)二重ポインタにする。私の場合。


void foo(char **bar) {
   *bar = (char *)malloc(sizeof(char)*10);
}

int main(int argc, char **argv) {
   char *bar;

   foo(&bar);

   return 0;
}

そもそもこれがあってるのかという話もありますが、


void foo(char *bar) {
   bar = (char *)malloc(sizeof(char)*10);
}

ってやるとコンパイラに怒られるんだもん。
C++だとこんな感じ?


class Hoge {
public:
   Hoge(){}
   ~Hoge(){}

   int a;
};

void hogeUser(Hoge **hoge) {
   *hoge = new Hoge();
}

int main(int argc, char **argv) {
   Hoge *hoge;

   hogeUser(&hoge);

   return 0;
}

しかしこれ、以下のように書けた。


void hogeUser(Hoge *(&hoge)) {
   hoge = new Hoge();
}

int main(int argc, char **argv) {
   Hoge *hoge;

   hogeUser(hoge);

   return 0;
}

でもひょっとしたら動いてないかもしれない。デバッグ中に奇妙に勝手に終了することがあった(アクセス違反)。
関係ないところだったけど、これが影響しているのかもしれない。

「あほやん」と言う人は教えてください。

以上

Comments:6

noname 08-01-09 (水) 23:29

>Hoge *(&hoge))
Hoge*& hoge
括弧いらない。

int x = 10;
int* px = &x;
int*& rpx = px;

std::cout

コスミー 08-01-10 (木) 22:25

なるほど、そっちにくっつければいらないのか。
コンパイラに怒られないようにしただけなんです。
というか、括弧がないほうがいいんでしょうか。

noname 08-01-10 (木) 23:58

Hoge * & hoge とかでもいいはず。
括弧はあってもなくてもいい。

レベッカミンコフ バッグ REBECCA MINKOFF HT25IFCX02 272 FASHION CLASSICS MINI 5 ZIP ショルダーバッグ APRICOT/LIGHT GOLD【new0624】 15-08-29 (土) 10:04

http://www.giovannicarlone.it/remen/43.html【jg】REBECCA MINKOFF レベッカミンコフ バッグ チェーンバッグ キルティング 本革 ミニ 《 Mini Quilted Affair 》大人の為のチェーンバッグ? 本革 と ゴールド チェーン がラグジュアリー な仕上がり:ジャングル ジャングル

レベッカミンコフ REBECCA MINKOFF 財布 長財布 レベッカミンコフ 財布 REBECCA MINKOFF SP35ILHW01 966 LOVE HAIRCALF AVA Z 15-08-29 (土) 10:04

http://netkal.org/rebeccaminkoff/114.htmlレベッカミンコフ バッグ REBECCA MINKOFF HT25IFCX01 272 FASHION CLASSICS MINI MAC ショルダーバッグ APRICOT/LIGHT GOLD【new0624】:1&one

レベッカミンコフ ショルダーバッグ/ハンドバッグ REBECCAMINKOFF HS15EWVX29 001 ブラック BLACK BEDFORD 15-08-29 (土) 10:05

http://www.mvd-mannheim.de/rebeccaminkoff/85.htmlレベッカミンコフ バッグ REBECCA MINKOFF HS15IFCX01 113 MINI MAC ショルダーバッグ BISCUIT/LIGHTGOLD【new0223】:1&one

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=151
Listed below are links to weblogs that reference
C++トリビアルメモ(ポインタの参照) from コスミー報告書[社外秘]

Home > C++ | Tips > C++トリビアルメモ(ポインタの参照)

Search
Feeds
Meta
 合計:005764
 今日:0027 昨日:0204

Return to page top