問題タブ [erase]

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

python - 配列全体を消去 Python

配列全体を消去して、項目を何も残さないようにするにはどうすればよいですか?

これを実行して、新しい値 (100 個の浮動小数点数の新しいセット) を格納し、最小値を見つけられるようにしたいと考えています。

現在、私のプログラムは、前のセットがまだそこにある状態で自分自身を追加しているため、考える前にセットから最小値を読み取っています。ちなみに私は .append を使っています。

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

drawing - PyGTK-カイロで描いた後に線を消す

使用した pyGTK
:cairo ライブラリを使用して、描いた線の魔女をどのように消去できますか?

画面に描いた後にこの線を消したい

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

drawing - 非表示/削除/フェード CALayer 消去 NSView コンテンツ

私の状況:

コンテンツ ビュー (NSView) を含む単一のウィンドウがあり、そのウィンドウには複数のサブビュー (単純な NSControl サブクラス。重要ではありませんが、テストのためだけです) が散らばっています。私が達成しようとしている最終効果の一部として、ウィンドウ全体のコンテンツビューを覆う半透明の黒い CALayer を配置し、非表示にできるようにしたい (非表示にするか削除するかは関係ありません)。特定のイベントがトリガーされると、NSViews が完全に明確になります。

テスト目的で、メイン コンテンツ ビューのサブビュー (コントロール) の一部/部分のみをカバーする小さな半透明の黒い CALayer を次のように配置します。

(まあ、スクリーンショットはありましたが、新しいユーザーとして画像を投稿することはできません。想像力を働かせる必要があります。)

十分に単純です。それで、私がやろうとしたのは、それ自体が適切に非表示/削除されることを確認することだけでした. 次に、問題が発生しました。黒いレイヤーを非表示にしたり、削除または削減したり、透明度を 0 に減らしたりしようとすると、ウィンドウのすべてのサブビューが消去され、結果は次のようになります。

(完全に空白のグレー [デフォルトのウィンドウ背景色] コンテンツ ビューのウィンドウ)

メインウィンドウへの参照を持つメインアプリケーション呼び出しのコードの要点は次のとおりです。

前に述べたように、[layer setHidden:YES] を [layer setOpacity:0] に置き換えると、コンテンツ ビューを消去するのと同じ効果があり、blackLayer を完全に削除するのと同じ効果があります (removeFromSuperlayer を呼び出し、そのスーパーレイヤーを nil に設定しようとします)。 . さらに興味深いことに、黒いサブレイヤーの四角形の不透明度を 0 から 1 - 0.5 の間の値に設定すると、それに応じてすべてのコンテンツ ビューのサブビューの不透明度が減少します。

小さな黒いCALayerの不透明度を非表示/削除または削減すると、それが含まれていないビューであっても、その一部であるビュー内のすべてのサブビューに影響を与える理由がわからないため、ここではかなり困惑しています。どんな助けでも大歓迎です。

編集: 実際、contentView の最上位レイヤーには、手動で追加した黒い四角形だけでなく、すべてのサブビューにもサブレイヤーがあることがわかりました (ペン先から作成されたものか、 nib)、それで、ブラック ボックスを操作しているだけだと思っていたのに、なぜそれらがすべて消えてしまったのか. しかし、私がまだ知らないのは、すべてのサブビューのレイヤーが存在する理由、それらがどこから来たのか、それらを取り除く方法です(繰り返しますが、removeFromSuperlayer、nil への設定などを介してそれらを削除しようとするすべての試みは失敗します。

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

c++ - C++ 文字列から文字を削除する

現在、C++ でテキスト フィールドから文字を削除する実装を試みています。ユーザーが Backspace キーを押すと、次のコードが実行されます。現在カーソルはありません。最後の文字を削除するだけです...

これは最初は問題なく動作しますが、もう一度 Backspace を押しても何も削除されません。

を印刷したmText.length()ところ、長さが変わらないことがわかりました。文字列を試してみましたが、正常に動作しますが、最初にバックスペースを押すと2文字resize()が削除されます。

誰かがこの動作を説明し、問題の解決を手伝ってくれることを願っています. 私はメモリ割り当てについてあまり知らないので、しばらくお待ちください;)

ありがとうござい
ます

0 投票する
6 に答える
3225 参照

c++ - ポインター ベクトルを解放するにはどうすればよいですか?

ポインタ ベクトルのメモリを解放するにはどうすればよいですか? コードは次のとおりです。

.erase()メモリが解放されず、デストラクタも呼び出されないことがわかりました。すべてのリスト エントリで繰り返し使用しようとしdeleteましたが、1 回の繰り返しでクラッシュします。エラーを回避するために、リスト エントリが既に NULL であるかどうかを既にチェックしています。何か不足していますか?また、私は STL のみを使用する必要があり、Boost は必要ありません。

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

c++ - テンプレートでイテレータを定義するにはどうすればよいですか?

マップを反復して消去するイテレータを定義しようとしています(デストラクタ)
エラーが発生します:互換性のないイテレータ。

私のデストラクタは次のようになります:

私はこのように作成します:

助言がありますか?

0 投票する
4 に答える
1419 参照

c++ - C++ std::vector 消去要素 0 が例外をスローする

申し訳ありませんが、コード bc を提供できません。持っていません。

私の同僚 (会社に長い間いるが、彼が何をしているのか知らないようだ) は、ベクターから要素を削除するために奇妙なことをしなければならないと主張しています。彼はすべての要素をある位置に移動し (削除したい要素から開始)、ベクトルの最後の要素を削除します。これは問題ないように思えますが、非常に非効率的です。標準ライブラリの std::vector::erase() は、これをうまく処理できるはずです。

彼がこれを行うのは、要素 0 で消去を呼び出すとランダムな例外が発生すると主張しているからです。

私の質問は、これを引き起こす原因は何ですか? これはスレッドセーフの問題であると確信していますが、それを引き起こす可能性のあるものは他にありますか?

教えてください...私はC++が初めてです。

繰り返しますが、コードを提供できなくて申し訳ありません。

ありがとう、ジブ

0 投票する
4 に答える
7559 参照

c++ - std::set による消去削除イディオムが constness 関連のエラーで失敗する

誰かがここで私を助けてくれますか?

このコードのコンパイル:

コンパイル時に次のエラーが生成されます。

0 投票する
4 に答える
1596 参照

c++ - 2 つのベクトルをループし、1 の要素を削除します

ベクターから重複を削除することを目的とした、次のおもちゃのコードがあります。

実際のコードではもう少し複雑な比較を行っていますが、混乱を招きたくありません。問題は、これの実行に必然的に続くセグメンテーション違反です。これは、要素を削除してから同じベクトルをループし続けるという事実によるものだと思います。

コードを機能させるにはどうすればよいですか? これは正しい出発点ですか?前もって感謝します

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

c++ - OpenMPの並列化とリストのベクトルからの削除

ギャング。まず、問題とアプローチの概要を説明します。

画像と各画像のピクセル位置を含むリスト(リストのリスト)があります。その画像のリストからランダムにn個のアイテムを選択し、画像ごとにk個のランダムなピクセル位置を反復処理します。これを並行してやりたいです。処理されたピクセルごとに、リストから削除したいと思います。

私のアプローチは、画像とピクセルリストをすべてのスレッドに分散することです。したがって、各スレッドには独自の画像リストとピクセル位置のリストがありますが、2つのスレッドが同じ画像を同時に処理することはありません。これらをベクトルに格納します。

したがって、コードが次のようになっているとしましょう。

次に、mainList[0]ID 0のスレッドで処理される画像が含まれます。次の方法でスレッドを起動します。#pragma omp parallel num_threads(numThreads_)次に、スレッドの画像リストからランダムに画像をサンプリングする同じコードを実行します。

問題は、ピクセルが処理され、スレッドがピクセルリストからピクセルを消去するときに、たとえばmainList[0].begin()->pixels_.erase(someIter)、アサーションを取得することがあることです。削除演算子までトレースします。

std :: listへの書き込みはスレッドセーフではないことは知っていますが、メインリストの各リストに1つのスレッドのみがアクセスする、リストのリストに対しては安全であると確信していました。限られたコードを提供したことは知っていますが、問題は、各スレッドが一度に1つのリストにしかアクセスできず、リストがスレッド間で共有されていない場合に、リストのリスト(またはリストのベクトル)から並行して削除することになります。

ここで何が欠けていますか?リストのリストのベクトルから並行して削除することはできませんか?