問題タブ [const-pointer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
363 参照

c++ - ポインターよりもイテレーターを優先しますか?

この質問は、ここにコメントがありましたが、バンプの一部として削除された質問のバンプです。

削除された投稿を見ることができない人のために、コメントはこの回答const char*で s の代わりにstring::const_iterators を使用したことに関するものでした。扱われます。」

だから私の質問はこれです、イテレータはstring::const_iterators を s よりも本質的な値を保持しているconst char*ので、私の答えをに切り替えることは理にstring::const_iteratorsかなっていますか?

0 投票する
1 に答える
407 参照

c++ - ポインター演算のための void ポインターの型変換

ポインター演算を使用するために、void ポインターの型は複数回変換されます。

データを含むベクターは外部ソースから取得され、そのデータにアクセスするための void ポインターを返します。さらに、ストライドも外部オブジェクトによって与えられ、アライメント要件に注意を払います。例を簡潔にするために、この 2 つの事実を完全には反映していません。

への変換は、ポインターの型のみが変換されるため、ポインターが指してuint8_tいる ( ) データには影響しませんか?float

インクリメントされますが、なぜconst動作するのですか? ポインタが指しているデータが変更されない可能性があるということですかcountPointer?const

ループ内で変換するreinterpret_cast<const float*>代わりに使用する必要があるのはなぜですか?static_cast<const float*>countPointer

0 投票する
1 に答える
74 参照

c++ - 関数の引数として渡されたときに `const int *` 型のポインタのアドレスを変更できないのはなぜですか?

私の知る限り、ポインターは変更できるがデータは変更できないconst int *ことを意味しint * const、ポインターアドレスは変更できないがデータは変更できると言いconst int * const、それらのいずれも変更できないと述べています。

ただし、 type で定義されたポインターのアドレスを変更することはできませんconst int *。これが私のコード例です:

コード出力:

少なくとも 1 回呼び出した後、のアドレスが関数pInt内の内部変数を指すように変更されることを期待します。しかし、そうではありません。変数を指し続けます。Func()Func()Dummy

ここで何が起きてるの?期待した結果が得られないのはなぜですか?

(IDE: Visual Studio 2015 コミュニティ バージョン)

0 投票する
2 に答える
177 参照

c++ - int *const *const を初期化する方法は?

格納されている個々の値のみを変更できる、幅と高さが固定された 2 次元配列が必要です。これはヘッダーで宣言され、後でソース ファイルで初期化されます。

私が見つけたので、次のスニペットを試してみました。残念ながら、質問は 1 次元配列または非 const 配列に関するもので、私の状況とは一致しませんでした。

私の希望は最後の例でしたが、初期化されておらず、const であるため初期化できないc場合、「内部」配列をどのように使用できますか?

この配列に別の型は必要ありませんか? 考えてint d[][]いたのですが、幅と高さが一定ではありません。
パラドックスのように思えますが (C++ の世界に存在する場合)、何か不足していますか?

0 投票する
1 に答える
97 参照

c++ - C++ const ポインターの奇妙な動作

奇妙なことに、この出力は次のとおりです。
* 検索機能の場合:
0x9999999
0x1277777
some_string

* テスト コードの場合
0x9999999
0x1277777
00000000000000000000000000000000000000 ....

テスト ファイルでは非常に長いゼロの文字列が返されますが、アドレスは同じです。何がうまくいかないのでしょうか?

0 投票する
3 に答える
1395 参照

c++ - タイプ std::string& の非 const 参照の無効な初期化 - 削除方法

エラーが発生します:
エラー: タイプ 'std::string& {aka std::basic_string&}' の非 const 参照の初期化が無効です タイプ 'std::basic_string' の右辺値から

コードは次のとおりです。

このエラーを削除するにはどうすればよいですか? 以前に次のコードを試していましたが、まだ同じエラーがスローされていました。

0 投票する
1 に答える
3971 参照

c++ - C++ const 二重ポインタ

定数 double ポインターが定数 double を指す定数ポインターを指すようにします。私はそれを最初から作り始めました (もちろん、本を少し検索してググりました)。

次のステップは、定数の二重ポインタを書くことだと思いました

次に、最後の2つのステートメントを組み合わせて、次のように書きます

ここで、arr は動的に割り当てられた 2 次元配列です。その後、自分が行ったことを確認しようとしましたが、すべてエラーが発生することを期待して以下のステートメントを書きました。

つまり、上で説明したことを作成できなかったということです。定数 double ポインターは、定数 double を指す定数ポインターを指します。どうすれば作れますか?

前もって感謝します。