問題タブ [mutable]
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.
java - Javaと.NETで文字列を変更できないのはなぜですか?
String
彼らがJavaと.NET(および他のいくつかの言語)で不変にすることを決めたのはなぜですか?なぜ彼らはそれを可変にしなかったのですか?
c++ - 「mutable」キーワードには、const 関数による変数の変更を許可する以外の目的がありますか?
mutable
少し前に、クラスのメンバー変数をキーワードでマークするコードに出くわしました。私が見る限り、const
メソッド内の変数を変更するだけです。
これがこのキーワードの唯一の用途ですか、それとも見た目以上のものがありますか? それ以来、クラスでこの手法を使用し、boost::mutex
をミュータブルとしてマークして、const
関数がスレッド セーフの理由でそれをロックできるようにしましたが、正直なところ、ちょっとしたハックのように感じます。
oop - 可変オブジェクトと不変オブジェクト
可変オブジェクトと不変オブジェクトに頭を悩ませようとしています。可変オブジェクトを使用すると、多くの悪いプレスが発生します(たとえば、メソッドから文字列の配列を返す)が、これによる悪影響を理解するのに苦労しています。可変オブジェクトの使用に関するベストプラクティスは何ですか?可能な限りそれらを避けるべきですか?
python - リストのリストの変更がサブリスト全体に予期せず反映される
Python でリストのリストを作成する必要があったため、次のように入力しました。
リストは次のようになりました。
次に、最も内側の値の 1 つを変更しました。
今、私のリストは次のようになります。
これは私が望んでいた、または期待したものではありません。誰かが何が起こっているのか、それを回避する方法を説明できますか?
python - クラスの新しいインスタンスがメンバーを他のインスタンスと共有するのはなぜですか?
私は次のリターンを期待します:
しかし、私は得る:
どうしてこれなの?initでa=[] を実行することで、この動作を回避できることがわかりましたが、その理由はよくわかりません。
c# - 可変構造体が「悪」なのはなぜですか?
SOに関するここでの議論に続いて、可変構造体は「悪」であるという発言をすでに数回読みました(この質問への回答のように)。
C#の可変性と構造体の実際の問題は何ですか?
c# - C# でクロージャが不変でない理由はありますか?
私は頭の中でこれを何度も繰り返してきましたが、C# クロージャが変更可能である正当な理由が思いつかないようです。何が起こっているのかを正確に認識していない場合、意図しない結果を得るには良い方法のように思えます.
たぶん、もう少し知識のある人は、C# の設計者がクロージャーで状態を変更できる理由を明らかにすることができますか?
例:
これにより、最初の呼び出しでは「hello」が出力されますが、2 回目の呼び出しでは外部の状態が変化し、「さようなら」が出力されます。クロージャの状態が更新され、ローカル変数への変更が反映されました。
c++ - C++ の文字列
C++ の文字列に関して次の質問があります。
1>>(パフォーマンスを考慮して)どちらがより良いオプションで、その理由は?
1.
また
2.
2>>
大きな文字列が小さな文字列にコピーされるときに、C++ でメモリ管理がどのように正確に処理されますか? C++ 文字列は変更可能ですか?
string - 文字列に関して、「変更可能」という言葉は「変更可能」という言葉と同じですか?
文字列が変更可能であると話すとき、これは「変更可能」または「変更可能」という言葉を使用することと同義ですか、それとも「変更可能」のような単純な言葉の代わりにこの専門用語が使用される理由を説明する追加のニュアンスがありますか?
cocoa - NSMutableArray を他のクラスに渡す
I have created an NSMutableArray in the implementation of my class loginController. The mutable array contains a set of strings. I want to pass the mutable array with its objects to other classes within my cocoa-project. What is the best way to pass the array?