スレを勃てるまでもないC/C++の質問はここで 25
[隔離病棟]
©2ch.net (467レス)
スレを勃てるまでもないC/C++の質問はここで 25
[隔離病棟]
©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1471100645/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
97: デフォルトの名無しさん [sage] 2017/05/06(土) 11:45:32.33 ID:3nLTZXlU 深い階層を表すのに適したデータ構造というかクラスはなんですか? unordered_mapを使ってキー/値のペアで作ったツリー構造があるんですが、 最適化をオフにすると500くらいの深さでもスタックオーバーフローが起きてしまいます。 Visual Studioを使っているのでReleaseビルドのC++ライブラリとDebugのものは組み合わせられないし、 かといって常に最適化オンだとデバッグが不便です。 何かいい方法はありませんか?お願いします http://mevius.5ch.net/test/read.cgi/tech/1471100645/97
100: デフォルトの名無しさん [sage] 2017/05/06(土) 15:30:45.88 ID:DLhZv41T >>97 一般的には木構造で問題ない ただ自分で実装する時に単純にノードの処理関数を子ノードに対して再帰的に呼び出す実装にしていると 階層が深くなったときはコールスタック不足でスタックオーバーフローになるので ループで処理するとかの実装にしておく必要がある http://mevius.5ch.net/test/read.cgi/tech/1471100645/100
102: 97 [sage] 2017/05/06(土) 16:02:38.76 ID:3nLTZXlU 遅くなったけどideone用に書き換えたコードがこれです http://ideone.com/nJqdHZ やりたいことは単に階層構造のテキストデータを読み取って、置換したり変形することです。 Visual StudioでDebugビルドしたものを実行すると、id: 248 とか表示されるあたりでスタックオーバーフローが起きて停止します。 ちょっと調べたところだと再帰→ループへの展開は定番みたいですね。 そっちの方向で考えてみたいと思います。どうもありがとうございます。 (…でも、250程度の数の階層くらい頭を使わずに書いたコードでも動いてくれという気がスル) http://mevius.5ch.net/test/read.cgi/tech/1471100645/102
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.021s*