[解決済み] C++の**とは何ですか?
2022-02-24 05:48:54
質問
いくつかのコードや、コンパイラから生成されたエラーに、''S''マークがあるのを見かけました。
**
というトークンを変数の前に置いています(例: **variablename unreferenced-- とか、正確には思い出せません)。 これはポインタに関連していることは間違いないのですが、推測すると、2回参照解除をしようとしているように見えます。 '
**
はかなりググれない。 誰か良いウェブサイトやドキュメントを紹介してくれる人、またはここで説明してくれる人はいませんか?
ありがとうございます。
素晴らしい回答です。 補足させていただくと、ポインタへのポインタがあると便利な場面はどんなところでしょうか? 元のポインタへのさらに別のポインタを作成するのではなく、元のポインタを使用するだけではいけないのでしょうか?
どのように解決するのですか?
**
は実際にはポインタからポインタへのポインタ(宣言時)だけでなく、デリファレンスからデリファレンス(文中)でもあります。
参照の&表記を持たないC言語では、ポインタ型である戻り値を更新する場合などによく使われる。
int alloc_foo(struct foo **foo_ret)
{
*foo_ret = malloc(sizeof(struct foo));
return 1; /* to indicate success; return value in foo_ret */
}
関連
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] ルール・オブ・スリーとは?
-
[解決済み] コピーアンドスワップ慣用句とは?
-
[解決済み] スマートポインターとは何ですか?
-
[解決済み] ムーブセマンティクスとは何ですか?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】Enterキーを押して続行する
-
[解決済み】std::cin.getline( ) vs. std::cin