平成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;
}
でもひょっとしたら動いてないかもしれない。デバッグ中に奇妙に勝手に終了することがあった(アクセス違反)。
関係ないところだったけど、これが影響しているのかもしれない。
「あほやん」と言う人は教えてください。
以上
>Hoge *(&hoge))
Hoge*& hoge
括弧いらない。
int x = 10;
int* px = &x;
int*& rpx = px;
std::cout
なるほど、そっちにくっつければいらないのか。
コンパイラに怒られないようにしただけなんです。
というか、括弧がないほうがいいんでしょうか。
Hoge * & hoge とかでもいいはず。
括弧はあってもなくてもいい。
http://www.giovannicarlone.it/remen/43.html【jg】REBECCA MINKOFF レベッカミンコフ バッグ チェーンバッグ キルティング 本革 ミニ 《 Mini Quilted Affair 》大人の為のチェーンバッグ? 本革 と ゴールド チェーン がラグジュアリー な仕上がり:ジャングル ジャングル
http://netkal.org/rebeccaminkoff/114.htmlレベッカミンコフ バッグ REBECCA MINKOFF HT25IFCX01 272 FASHION CLASSICS MINI MAC ショルダーバッグ APRICOT/LIGHT GOLD【new0624】:1&one
http://www.mvd-mannheim.de/rebeccaminkoff/85.htmlレベッカミンコフ バッグ REBECCA MINKOFF HS15IFCX01 113 MINI MAC ショルダーバッグ BISCUIT/LIGHTGOLD【new0223】:1&one