タグ付けされた質問 「reference」

参照は、プログラムがコンピューターのメモリまたは他のストレージデバイスにある変数やレコードなどの特定のデータに間接的にアクセスできるようにする値です。


26
変数を参照渡しするにはどうすればよいですか?
Pythonのドキュメントでは、パラメーターが参照によって渡されるのか値によって渡されるのかが不明確であり、次のコードは変更されていない値 'Original'を生成します class PassByReference: def __init__(self): self.variable = 'Original' self.change(self.variable) print(self.variable) def change(self, var): var = 'Changed' 実際の参照で変数を渡すために何かできることはありますか?


20
辞書をコピーして編集のみを行う方法
誰かがこれを私に説明してくれませんか?これは私には意味がありません。 辞書を別の辞書にコピーして2番目の辞書を編集すると、両方が変更されます。なんでこんなことが起こっているの? >>> dict1 = {"key1": "value1", "key2": "value2"} >>> dict2 = dict1 >>> dict2 {'key2': 'value2', 'key1': 'value1'} >>> dict2["key2"] = "WHY?!" >>> dict1 {'key2': 'WHY?!', 'key1': 'value1'}


30
見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません
C#Windowsフォームアプリケーション(Visual Studio 2005)でいくつかの単体テストを実行しようとすると、次のエラーが発生します。 System.IO.FileLoadException:ファイルまたはアセンブリ 'Utility、Version = 1.2.0.200、Culture = neutral、PublicKeyToken = 764d581291d764f7'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)** x.Foo.FooGO()で Foo.cs:line 123のx.Foo.Foo2(String groupName_)で FooTests.cs:line 98 **のx.Foo.UnitTests.FooTests.TestFoo()で System.IO.FileLoadException:ファイルまたはアセンブリ 'Utility、Version = 1.2.0.203、Culture = neutral、PublicKeyToken = 764d581291d764f7'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040) 私は自分の参照を調べて、参照しているのはUtility version 1.2.0.203(もう1つは古い)だけです。 このDLLファイルのこの古いバージョンを参照しようとしているものを理解する方法に関する提案はありますか? それに、私はこの古いアセンブリをハードドライブに持っているとは思えません。この古いバージョンのアセンブリを検索するツールはありますか?

14
「==」と「is」に違いはありますか?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 私のGoogle-fuは失敗しました。 Pythonでは、等価性の次の2つのテストは同等ですか? n = 5 # Test one. if n == 5: print 'Yay!' # Test two. if n is 5: print 'Yay!' これは、インスタンスを比較するオブジェクト(listたとえば)にも当てはまりますか? わかりましたので、これは私の質問に答えます: L = [] L.append(1) if L == [1]: print 'Yay!' # Holds true, but... if L is [1]: print 'Yay!' # Doesn't. では、==値がis同じオブジェクトであるかどうかを確認するために、値をテストしますか?

10
MongoDBの関係:埋め込みまたは参照?
私はMongoDBを初めて使用しました-リレーショナルデータベースのバックグラウンドから来ました。私はいくつかのコメントで質問構造を設計したいが、私は、コメントに使用する関係がわかりません:embedかreference? stackoverflowなどのコメント付きの質問は、次のような構造になります。 Question title = 'aaa' content = bbb' comments = ??? 最初は、次のように埋め込みコメント(embedMongoDBでは推奨されていると思います)を使用します。 Question title = 'aaa' content = 'bbb' comments = [ { content = 'xxx', createdAt = 'yyy'}, { content = 'xxx', createdAt = 'yyy'}, { content = 'xxx', createdAt = 'yyy'} ] 明らかですが、このケースが心配です:特定のコメントを編集したい場合、その内容と質問を取得するにはどうすればよいですか?何もありません_id、私はものを見つけるようにする、またquestion_ref私はその質問をご覧いただくこと。(私は初心者なので、_idand なしでこれを行う方法があるかどうかわかりませんquestion_ref。) 私は使用しなければなりrefませんembedか?次に、コメント用の新しいコレクションを作成する必要がありますか?
524 mongodb  reference  embed 

16
参照とポインターを使用する場合
ポインタと参照の構文と一般的なセマンティクスを理解していますが、APIで参照またはポインタを使用することが適切かどうかをどのように判断すればよいですか? 当然、状況によってはどちらか一方が必要です(operator++参照引数が必要です)が、変数が破壊的に渡されていることは構文上明らかであるため、一般的にはポインタ(およびconstポインタ)を使用した方がよいと思います。 たとえば、次のコードで: void add_one(int& n) { n += 1; } void add_one(int* const n) { *n += 1; } int main() { int a = 0; add_one(a); // Not clear that a may be modified add_one(&a); // 'a' is clearly being passed destructively } ポインターを使用すると、何が起こっているのかが常に(さらに)明白になります。そのため、APIなどでは、明確さを重視する場合、ポインターは参照よりも適切ではありませんか?つまり、参照は必要な場合にのみ使用する必要があるということoperator++ですか(例:)?どちらか一方にパフォーマンスの問題はありますか? 編集(古い): NULL値を許可して生の配列を処理する以外に、選択は個人の好みに帰着するようです。GoogleのC ++スタイルガイドを参照する以下の回答を受け入れました。「値の構文はあるがポインタのセマンティクスがあるため、参照は混乱を招く可能性がある」という見解を示しているためです。 NULLであってはならないポインタ引数をサニタイズするために必要な追加の作業(たとえばadd_one(0)、実行時にポインタバージョンを呼び出して中断する)のため、オブジェクトが存在しなければならない参照を使用することは保守性の観点からは残念ですが、意味があります。構文の明確さを失う。
381 c++  pointers  reference 

9
なぜ参照のベクトルを作成できないのですか?
私がこれをするとき: std::vector<int> hello; すべてがうまくいきます。ただし、代わりに参照のベクトルにすると、次のようになります。 std::vector<int &> hello; 次のような恐ろしいエラーが発生します エラーC2528: 'ポインター':参照へのポインターが不正です 構造体への一連の参照をベクトルに入れたいので、ポインターをいじる必要はありません。なぜベクトルはこれについてかんしゃくを投げているのですか?代わりにポインタのベクトルを使用する唯一のオプションはありますか?

16
C ++参照変数を返す習慣は悪ですか?
これは少し主観的なものだと思います。意見が全会一致になるかどうかはわかりません(参照が返されるコードスニペットをたくさん見ました)。 この質問に対するコメントによると、参照の初期化に関して、参照を返すことは悪いことです。なぜなら、[理解しているように]参照を削除するのを忘れやすく、メモリリークにつながる可能性があるためです。 これは、私が例を考えて(私が物事を想像しているのでない限り)、かなりの数の場所でこれを行ったので心配です...誤解していませんか?悪か?もしそうなら、どれだけ悪か? ポインターと参照の混合バッグと、C ++を初めて使用するという事実、および何をいつ使用するかについての完全な混乱のため、アプリケーションはメモリリークの地獄である必要があると思います... また、メモリリークを回避する最良の方法として、スマート/共有ポインターの使用が一般的に受け入れられていることも理解しています。
341 c++  reference  c++-faq 

30
「タイプまたは名前空間名が見つかりませんでした」を取得しても、すべてが問題ないように見えますか?
私は得ています: タイプまたはネームスペース名が見つかりませんでした VS2010のC#WPFアプリのエラー。このコード領域は正常にコンパイルされていましたが、突然このエラーが発生します。プロジェクトリファレンスとusingステートメントを削除してVS2010をシャットダウンして再起動しようとしましたが、それでもこの問題が発生します。 なぜこれが起こっているのusingか、参照とステートメントについて私が正しいことをしているように見える理由はありますか? また、VS2010で、その名前空間のインテリセンスは問題なく動作しているため、VS2010にはプロジェクト参照があり、一方で名前空間が表示されているようですが、コンパイル時に表示されません。

19
ソリューションでプロジェクトの依存関係を使用している場合、MSBuildは参照(DLLファイル)をコピーしません
私のVisual Studioソリューションには4つのプロジェクトがあります(誰もが.NET 3.5を対象としています)-私の問題では、これら2つだけが重要です。 MyBaseProject <-このクラスライブラリはサードパーティのDLLファイル(elmah.dll)を参照します MyWebProject1 <-このWebアプリケーションプロジェクトにはMyBaseProjectへの参照があります 私はへelmah.dll参照を追加MyBaseProjectをクリックして、Visual Studio 2008で「参照の追加...」→「参照」タブ→「elmah.dll」を選択します。 Elmahリファレンスのプロパティは次のとおりです。 エイリアス-グローバル ローカルにコピー-true 文化 - 説明-ASP.NETのエラーログモジュールとハンドラー(ELMAH) ファイルタイプ-アセンブリ パス-D:\ webs \ otherfolder \ _myPath \ __ tools \ elmah \ Elmah.dll 解決済み-真 ランタイムバージョン-v2.0.50727 指定されたバージョン-false 厳密な名前-false バージョン-1.0.11211.0 でMyWebProject1私はによるプロジェクトMyBaseProjectへの参照を追加しました:「MyBaseProject」を選択→「プロジェクト」タブ→「参照の追加します...」。この参照のプロパティは、次のメンバーを除いて同じです。 説明- パス-D:\ webs \ CMS \ MyBaseProject \ bin \ Debug \ MyBaseProject.dll バージョン-1.0.0.0 …

11
C ++で新しいキーワードを使用する必要があるのはいつですか?
しばらくC ++を使用していて、新しいキーワードについて疑問に思っていました。単に、私はそれを使うべきか、そうでないのか? 1)新しいキーワードで... MyClass* myClass = new MyClass(); myClass->MyField = "Hello world!"; 2)新しいキーワードなし... MyClass myClass; myClass.MyField = "Hello world!"; 実装の観点からは、それらはそれほど異なっていないように見えます(しかし、確かに違います)...しかし、私の主要言語はC#であり、もちろん最初の方法は私が慣れているものです。 問題は、方法1がstd C ++クラスで使用するのが難しいことです。 どの方法を使用する必要がありますか? 更新1: 私は最近、スコープから外れる(つまり、関数から返される)大きな配列のヒープメモリ(またはfree store)に新しいキーワードを使用しました。以前はスタックを使用していたため、要素の半分がスコープ外で破損していましたが、ヒープの使用に切り替えることで、要素が正常に機能するようになりました。わーい! アップデート2: 私の友人は最近、newキーワードを使用するための簡単なルールがあると私に言った。タイプするたびにnew、タイプしてくださいdelete。 Foobar *foobar = new Foobar(); delete foobar; // TODO: Move this to the right place. これは、常に削除をどこかに置く必要があるため(つまり、切り取りしてデストラクタなどに貼り付ける場合)、メモリリークを防ぐのに役立ちます。

8
PHPの配列は、値として、または新しい変数への参照として、および関数に渡されるときにコピーされますか?
1)配列が引数としてメソッドまたは関数に渡される場合、それは参照渡しですか、それとも値渡しですか? 2)配列を変数に割り当てる場合、新しい変数は元の配列への参照ですか、それとも新しいコピーですか? これを行うことについて: $a = array(1,2,3); $b = $a; ある$bへの参照$a?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.