問題タブ [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.
c++ - ポインター演算のための void ポインターの型変換
ポインター演算を使用するために、void ポインターの型は複数回変換されます。
データを含むベクターは外部ソースから取得され、そのデータにアクセスするための void ポインターを返します。さらに、ストライドも外部オブジェクトによって与えられ、アライメント要件に注意を払います。例を簡潔にするために、この 2 つの事実を完全には反映していません。
への変換は、ポインターの型のみが変換されるため、ポインターが指してuint8_t
いる ( ) データには影響しませんか?float
インクリメントされますが、なぜconst
動作するのですか? ポインタが指しているデータが変更されない可能性があるということですかcountPointer
?const
ループ内で変換するreinterpret_cast<const float*>
代わりに使用する必要があるのはなぜですか?static_cast<const float*>
countPointer
c++ - 関数の引数として渡されたときに `const int *` 型のポインタのアドレスを変更できないのはなぜですか?
私の知る限り、ポインターは変更できるがデータは変更できないconst int *
ことを意味しint * const
、ポインターアドレスは変更できないがデータは変更できると言いconst int * const
、それらのいずれも変更できないと述べています。
ただし、 type で定義されたポインターのアドレスを変更することはできませんconst int *
。これが私のコード例です:
コード出力:
少なくとも 1 回呼び出した後、のアドレスが関数pInt
内の内部変数を指すように変更されることを期待します。しかし、そうではありません。変数を指し続けます。Func()
Func()
Dummy
ここで何が起きてるの?期待した結果が得られないのはなぜですか?
(IDE: Visual Studio 2015 コミュニティ バージョン)
c++ - int *const *const を初期化する方法は?
格納されている個々の値のみを変更できる、幅と高さが固定された 2 次元配列が必要です。これはヘッダーで宣言され、後でソース ファイルで初期化されます。
私が見つけたので、次のスニペットを試してみました。残念ながら、質問は 1 次元配列または非 const 配列に関するもので、私の状況とは一致しませんでした。
私の希望は最後の例でしたが、初期化されておらず、const であるため初期化できないc
場合、「内部」配列をどのように使用できますか?
この配列に別の型は必要ありませんか? 考えてint d[][]
いたのですが、幅と高さが一定ではありません。
パラドックスのように思えますが (C++ の世界に存在する場合)、何か不足していますか?
c++ - C++ const ポインターの奇妙な動作
奇妙なことに、この出力は次のとおりです。
* 検索機能の場合:
0x9999999
0x1277777
some_string
* テスト コードの場合
0x9999999
0x1277777
00000000000000000000000000000000000000 ....
テスト ファイルでは非常に長いゼロの文字列が返されますが、アドレスは同じです。何がうまくいかないのでしょうか?
c++ - タイプ std::string& の非 const 参照の無効な初期化 - 削除方法
エラーが発生します:
エラー: タイプ 'std::string& {aka std::basic_string&}' の非 const 参照の初期化が無効です タイプ 'std::basic_string' の右辺値から
コードは次のとおりです。
このエラーを削除するにはどうすればよいですか? 以前に次のコードを試していましたが、まだ同じエラーがスローされていました。
c++ - C++ const 二重ポインタ
定数 double ポインターが定数 double を指す定数ポインターを指すようにします。私はそれを最初から作り始めました (もちろん、本を少し検索してググりました)。
次のステップは、定数の二重ポインタを書くことだと思いました
次に、最後の2つのステートメントを組み合わせて、次のように書きます
ここで、arr は動的に割り当てられた 2 次元配列です。その後、自分が行ったことを確認しようとしましたが、すべてエラーが発生することを期待して以下のステートメントを書きました。
つまり、上で説明したことを作成できなかったということです。定数 double ポインターは、定数 double を指す定数ポインターを指します。どうすれば作れますか?
前もって感謝します。