問題タブ [auto-ptr]

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 投票する
1 に答える
660 参照

c++ - GNU/C++ でコンパイルできるのに、VC++2010 RTM でコンパイルできないのはなぜですか?

Eclipse (GNU C++.exe -v gcc version 3.4.5 (mingw-vista special r3)) では、次の 2 つのコンパイル エラーが発生します。

説明 リソース パス 場所 タイプ 初期化引数 1 of void sink_base(std::auto_ptr<Base>)' from result ofstd::auto_ptr<_Tp>::operator std::auto_ptr<_Tp1>() [with _Tp1 = Base, _Tp = Derived]' auto_ptr_ref_research.cpp auto_ptr_ref_research/auto_ptr_ref_research 190 C/C++ 問題

説明 リソース パスの場所 タイプ `std::auto_ptr::auto_ptr(std::auto_ptr)' の呼び出しに一致する関数はありません auto_ptr_ref_research.cpp auto_ptr_ref_research/auto_ptr_ref_research 190 C/C++ の問題

しかし、VS2010 RTM では正しいです。

質問:

  1. ISO C++ 標準を表すコンパイラはどれですか?

  2. ケース 4 の内容は、「auto_ptr & auto_ptr_ref を解決したいですか?」という問題です。

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

c++ - ベクトルのコンパイルの問題>

次のコードを検討してください。

それをコンパイルしようとすると、g++ から次のあいまいなコンパイラ エラーが発生します。

ここで const に何らかの問題があるように思えます。これauto_ptrは s では使用できないということvectorですか?

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

c++ - 通常のポインターと自動ポインター (std::auto_ptr)

コード スニペット (通常のポインター)

コード スニペット (自動ポインター)

ケース 1:

ケース 2:

ケース1でうまくいかなかった理由を誰か教えてください。

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

c++ - 非オブジェクト型のC++スマートポインタ?

auto_ptr、shared_ptr などのスマート ポインターを使用しようとしています。ただし、この状況での使用方法がわかりません。

よくわかりませんが、ストレージ変数は単に malloc されたメモリであり、C++ クラス オブジェクトではないと思います。ストレージ変数にスマート ポインターを使用する方法はありますか?

ありがとうございました。

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

c++ - 自動ポインタのコンテナ

自動ポインタのコンテナは使用すべきではなく、問題を引き起こす可能性があることを私は知っています。その実際の理由は何ですか?コンテナで安全に使用できる他の種類の「スマート」ポインタはありますか?

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

c++ - では、unique_ptrはstlコレクションで安全に使用できますか?

私はunique_ptrと右辺値移動の哲学と混同しています。

2つのコレクションがあるとしましょう。

アルゴリズムが内部で何をしているのか、おそらく内部ピボットコピーなどを作成しているのかわからないため、auto_ptrから所有権を奪うため、次のことが失敗すると予想されます。

私はこれを取得します。そして、コンパイラはこれを正しく禁止します。

しかし、私はこれを行います:

そして、これはコンパイルされます。そして、その理由がわかりません。unique_ptrsをコピーできるとは思いませんでした。これは、ピボット値を取得できないため、並べ替えの効率が低下することを意味しますか?それとも、このピボットは実際には動きであり、実際にはauto_ptrsのコレクションと同じくらい危険であり、コンパイラーによって許可されるべきではありませんか?

重要な情報が不足していると思うので、誰かが私にああを提供してくれるのを心待ちにしています!一瞬。

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

c++ - Qt と auto_ptr

auto_ptr の概念を発見したばかりで、気に入っています! Qt は QList または QVector<(some QObject または QWidget) *> を必要とすることが多いため、auto_ptr を避けるべき具体的な理由はありますか。私が正しければ、これを置き換えることができます:

はるかに短いものを使用 (つまり、クリーンアップなし)

... Qt は引き続き auto_ptr の共有メモリ マジックを使用できますか? 親子の自動マジック メモリ管理は引き続き透過的に機能しますか? ありがとう

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

c++ - 問題なくauto_ptrから継承することはできません

私がしたいのはこれです:

(実際には、配列も処理するauto_ptrクラスのコピーがありますが、同じエラーがstlクラスにも当てはまります)

GCC4.3.0を使用したコンパイルエラーは次のとおりです。

autostr(autostr&)の有効なパラメーターとしてautostr引数が一致しない理由がわかりません。

0 投票する
5 に答える
525 参照

c++ - 動的に割り当てられた配列でauto_ptrを使用する正しい方法は何ですか?

auto_ptrを使用して動的に割り当てられた配列へのポインターを保持する場合、auto_ptrが強制終了されると、 delete []ではなく単純な削除操作が使用されるため、割り当てられた配列は削除されません。

動的に割り当てられたアレイでauto_ptrを(適切に)使用するにはどうすればよいですか?

これが不可能な場合、動的に割り当てられた配列に代わる別のスマートポインターはありますか?

前もって感謝します。

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

c++ - auto_ptrがコンテナを「シール」できる理由

ウィキペディアのauto_ptrは、「STLコンテナーを含むauto_ptrを使用して、コンテナーがさらに変更されるのを防ぐことができる」と述べています。次の例を使用しました。

最後の行のコメントを外すと、g++は次のようにエラーを報告します

このベクターの所有権を譲渡した後、変更できなくなったのはなぜですか?

どうもありがとう!