- 1 名前:デフォルトの名無しさん [2015/08/31(月) 18:19:04.13 ID:NE3NvROE.net]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part118 peace.2ch.net/test/read.cgi/tech/1435970316/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.97【環境依存OK】 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1439849418/ 次期規格C++1zはこちら C++14/C++1z 20 peace.2ch.net/test/read.cgi/tech/1410382924/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/
- 744 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 22:57:22.05 ID:w2Lswr2g.net]
- >任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
>そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。 >このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ, >より手軽にゲーム開発を行う方法が説明されるようだ。
- 745 名前:デフォルトの名無しさん [2015/10/02(金) 23:00:04.35 ID:TpeMyO1f.net]
- それはないかと。ウェブブラウザで3Dしたり、3Dエンジン・ライブラリを呼ぶ形だと言語速度差少なかったり。
- 746 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 23:36:20.41 ID:dTb/cHoI.net]
- C++使う目的がスピードなのは今も変わらないと思うが、RustやGoがいくら早くなろうが、C++は使われ続けると思う。
最適化にこだわろうと思った場合C++以外の言語では話にならない。
- 747 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 23:39:28.76 ID:07KUSVzt.net]
- C++は柔軟性が抜群
- 748 名前:デフォルトの名無しさん [2015/10/03(土) 00:29:39.75 ID:mC8UjI5p.net]
- Haskellが一番速いといわれてるけどな。
- 749 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 00:37:13.63 ID:TzdXrt85.net]
- >>738
Haskellが一番速いという言葉に強い魅力を感じるのですが、数値演算では、C++やFortranと 較べてどれくらい速いでしょうか。 そもそもHaskellには、数値計算用の函数(三角関数、対数、指数などの初等函数)は インプリメントされているでしょうか。そしてその有効桁数はどれくらいでしょうか。 少なくとも12桁できれば、16桁以上欲しいのですが。
- 750 名前:デフォルトの名無しさん [2015/10/03(土) 01:40:39.95 ID:F9VAPS7W.net]
- Haskellはやめとけ。理想的なコンパイラが実現したらとかいう想定なんだろ?
現実では未実装で。 純粋関数型言語とそのコンパイラが完成されれば速いんだろうが。
- 751 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 01:48:15.69 ID:OaBps6Fz.net]
- そんなに早いならHaskellの動画エンコーダーがあっていいはず
- 752 名前:デフォルトの名無しさん [2015/10/03(土) 01:48:36.78 ID:F9VAPS7W.net]
- Haskell 自動並列化でググッた結果。
マルチコアでスケールするようになった Haskell2015年2月12日 Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。 GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。 www.iij.ad.jp/company/development/tech/activities/haskell/ マルチコア時代の最新並列並行技術〜 Haskellから見える世界 〜 [PDF ... www.iij.ad.jp/company/development/tech/techweek/pdf/141126_2.pdf Concurrent HaskellおよびParallel Haskell www.kotha.net/ghcguide_ja/7.0.4/lang-parallel.html 【Async】Haskellによる並列・並行プログラミングを読了した (2)【Concurrent】 | FiS Project www.fisproject.jp/2015/08/parallel-and-concurrent-programming-in-haskell-2/ 未来の並列プログラ ミング言語としての Haskell ll.jus.or.jp/2008/slides/6/shelarcy.pdf
- 753 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 02:07:18.42 ID:4GRc9B1x.net]
- URL貼るだけで自分の見解を何も述べられない低能は去れ
- 754 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 03:44:12.63 ID:RI5yhOba.net]
- 知らんHaskellは
しかしインタプリタ言語であるErlangがとある大規模並列案件についてC++より早く動いたという話をどっかで聞いた そりゃー開発コストとバグのリスク(コードの読み辛さ)を考えずに最適化設計すれば最終的にはC++が勝つだろうけども
- 755 名前:デフォルトの名無しさん [2015/10/03(土) 04:40:55.15 ID:HrivTQ+h.net]
- Haskellは強力な型システムのおかげでコンパイルが通ればバグが無いことが保証されるといわれてるけどな。
- 756 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 04:44:51.70 ID:mgovDRA4.net]
- 何その都市伝説
- 757 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 08:02:15.82 ID:I2+KZq9W.net]
- >>744
Java以下の速度のErlangがC++に勝てるわけねーだろwwww
- 758 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 08:12:08.92 ID:I2+KZq9W.net]
- Erlangが使われれる理由は速度じゃなくて、強力なフォールトトレラント性
Haskellは遅延評価がある時点で並列向いてない 触った事あればすぐわかるだろうに、本当に恥ずかしい奴だな
- 759 名前:デフォルトの名無しさん [2015/10/03(土) 08:47:05.87 ID:QGdOGmK1.net]
- そう、Erlangは強力なフォールトトレラント性が特徴。
生命維持装置のような何十年も安定して稼働し続けなければならない物には Erlang以外使えない。 エラーが起きた時点で国際宇宙ステーションの全員が死ぬことになる。 再起動も許されない。 そういったミッションクリティカルな場所で使うためにErlangが開発された。
- 760 名前:デフォルトの名無しさん [2015/10/03(土) 08:50:57.42 ID:QGdOGmK1.net]
- Erlangの最大の美点は静的検査によりコンパイルが通ればバグが無いことを保証できる点。
この特長によってJavascript並みの安全性を確保できるといわれている。 これはC++では絶対に実現できない。
- 761 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 08:52:47.18 ID:OaBps6Fz.net]
- >Javascript並みの安全性
ここ笑うところなのかな
- 762 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 08:53:15.81 ID:I2+KZq9W.net]
- Javascript並みの安全性?
ポエムは自分のブログでやってくれよキチガイ
- 763 名前:デフォルトの名無しさん [2015/10/03(土) 08:58:23.08 ID:QGdOGmK1.net]
- また、Erlangは強力な並列性を持ち、2000万スレッドのベンチマークが行われたこともある。
C++プログラムとの比較でErlangは文字通り2000万倍の性能をたたき出した。 これは大きな差であり、現在のスーパーコンピュータではErlangが主流となっている。
- 764 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 08:59:57.30 ID:I2+KZq9W.net]
- ErlangがC++より型付け強いってのも笑うところ
名前以外全く知らないのがわかる
- 765 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 09:06:44.71 ID:I2+KZq9W.net]
- あ、これ本物のキチガイだ
- 766 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 09:07:13.61 ID:eQmk9cX0.net]
- >>750
? Erlangはチューリング完全じゃないのか?
- 767 名前:デフォルトの名無しさん [2015/10/03(土) 09:28:38.72 ID:QGdOGmK1.net]
- C++が負けたのがそんなに悔しいですか。
- 768 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 09:35:22.34 ID:hNjBKdKI.net]
- あーくやしいくやちくてしょんべんちびっちゃうわー
- 769 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 09:37:58.97 ID:RI5yhOba.net]
- >>747
gccと比べたら確かに遅かったorz ttp://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=erlang&lang2=gcc&data=u64q しかし事はユーザーが書いたコード断片の実行速度ではないのかも知れぬ、 >>748 >Haskellは遅延評価がある時点で並列向いてない ぬんで?遅延評価しようがすまいがimmutableなオブジェクトだけの世界なら排他とか生じないんじゃ…
- 770 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 10:00:51.34 ID:I2+KZq9W.net]
- >>759
Haskellの遅延評価はあらゆる物に適用される で、サンク取り払ってメモ化される度に止まって逆説的に向いてないというオチ ここらへんは自分で制御しようと思えばできるから 飽くまで他の並列化を前提とした言語と比べて向いてないという意味
- 771 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 10:37:40.95 ID:R/xGcqGB.net]
- >>745
でもコンパイルエラーを突き止めるのに専用のツールが必要だったり コンパイルが通るまでに半年かかったりするんでしょ?
- 772 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 10:42:17.61 ID:R/xGcqGB.net]
- >>748-749
フォールトトレラントのおかげで 内部で死にまくってても見過ごしてるだけというオチじゃなかろな
- 773 名前:age [2015/10/03(土) 11:02:06.53 ID:xcjdOcxh.net]
- Queueに関して教えて下さい。
queue<BYTE> fifo; として定義した場合、pushできるfifoの最大の深さはどこで確認できるのでしょうか? fifoに書き込まれているバイト数はsizeで確認できますが、 深さに関する事が調べたのですがどこにも書かれていませんでした。 用途としては、10MByte位のFIFOを用意しておいて、 fifoに半分位たまったら一括でファイルにライトする様な処理を考えています。
- 774 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 11:09:56.72 ID:OaBps6Fz.net]
- 深さとサイズがどう違うんだ
- 775 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 11:36:19.09 ID:UaQHAHfU.net]
- その場合は、dequeを調べればいいんじゃないかな?
- 776 名前:デフォルトの名無しさん [2015/10/03(土) 11:38:25.79 ID:JIliozMV.net]
- 自分がハッカーかどうかわからないのですが
ハッカーになると自分はハッカーであるとわかるものなんですか? それとも人に言われてはじめて気づくものなんでしょうか?
- 777 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 11:49:29.97 ID:UaQHAHfU.net]
- ハッカーはハッキングします。
あなたはハッキングしましたか?
- 778 名前:デフォルトの名無しさん [2015/10/03(土) 11:52:29.29 ID:JIliozMV.net]
- それはクラッカー
- 779 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 11:56:32.43 ID:y6+evVSu.net]
- あたり前だ
- 780 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 12:05:26.41 ID:UaQHAHfU.net]
- ハッキングによって入手した情報を悪用し、罪を犯すのがクラッカーです。
ハッカーは罪を犯すことを目的にハッキングはしません。
- 781 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 14:23:52.05 ID:bfkpTtOm.net]
- まあ、俺クラスになると自分がハッカーだと自覚できてるな
- 782 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 14:45:00.58 ID:bKUFTYSg.net]
- 俺がこんなに強いのも…
C++関係ないね。
- 783 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 15:03:31.31 ID:6CgBohu1.net]
- カーしか共通点無い
- 784 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 15:04:24.02 ID:6CgBohu1.net]
- クラッカーの話題が出てたのか。スマン
- 785 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 16:05:55.00 ID:8AFtPGV4.net]
- まあ、俺クラスになると自分が馬っ鹿ーだと自覚できてるな
- 786 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 16:08:13.17 ID:DbjSwrzl.net]
- 禿げてないとハッカーにはなれない
- 787 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 16:09:09.20 ID:4asnCA7K.net]
- 俺クラスになるとその点も問題ない
- 788 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 16:12:08.77 ID:H2im6CWF.net]
- 自作クラス最強説
- 789 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 16:46:46.05 ID:hZCkGPov.net]
- やっぱりナビスコだな
- 790 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 17:03:29.86 ID:5Y3yXyVr.net]
- C++使ってる時点で十分ハッカーだと思うけど。
- 791 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 18:24:19.53 ID:bfkpTtOm.net]
- >>779
それはクラ…リッツとかオレオ!
- 792 名前:デフォルトの名無しさん [2015/10/03(土) 20:23:09.16 ID:HRif353B.net]
- ハッカーの大部分が悪いことをするので、ハッカーは悪事を働く人を意味するようになった。
そこで、ハッカーたちはクラッカーという新しい言葉を作り、俺はハッカーだから 悪いことをしていないと取り調べで言うようになった。
- 793 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 20:24:08.26 ID:I2+KZq9W.net]
- リンゴマークをこよなく愛する
- 794 名前:デフォルトの名無しさん [2015/10/03(土) 20:27:19.39 ID:25KCQVnt.net]
- ハッカーの彼女ってペンギンだろ
- 795 名前:デフォルトの名無しさん [2015/10/03(土) 20:28:46.01 ID:HRif353B.net]
- クラッカーという言葉を作って、犯人はクラッカーだと言うようになった。
- 796 名前:デフォルトの名無しさん [2015/10/03(土) 20:30:44.43 ID:HRif353B.net]
- 電話を無料でかける装置を50ドルで売った。
これは良く売れた。 マンハッタンのビジネスマンが一日に50台注文することもあった。 この利益でいくつかのフリーソフトウェアが完成した。
- 797 名前:デフォルトの名無しさん [2015/10/03(土) 21:34:06.93 ID:GmUX5JOa.net]
- 2つの矩形(XYWH)を覆う四角形Z(XYWHR)を求めるにはどのような計算式を書けばいいですか?
- 798 名前:デフォルトの名無しさん [2015/10/03(土) 21:40:46.15 ID:8iRLWTDj.net]
- std:::min と std::max を使うと簡単だよ
- 799 名前:デフォルトの名無しさん [2015/10/03(土) 21:47:00.05 ID:GmUX5JOa.net]
- >>788
矩形から矩形ならそれで出来ますが、矩形から傾きのある矩形を求める方法が知りたいです
- 800 名前:デフォルトの名無しさん [2015/10/03(土) 21:48:38.22 ID:DW8kiwr4.net]
- ちょっと図で書いてみて
- 801 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 21:53:58.07 ID:wd3SBpbJ.net]
- 傾きありだと飼いは無数にあるから条件が必要
- 802 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 21:58:00.99 ID:8iRLWTDj.net]
- >>789
これでどう? 動画も有るよ sssiii.seesaa.net/article/194921654.html
- 803 名前:デフォルトの名無しさん [2015/10/03(土) 22:07:52.43 ID:GmUX5JOa.net]
- シューティングゲームのすり抜け防止に使いたい
1F前の矩形+現在の矩形で矩形を求めて判定した後高速判定)、当たっていれば傾きありの矩形で判定したい(厳密判定)
- 804 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 22:18:40.75 ID:eQmk9cX0.net]
- 頂点8つだし、厳密なものでなくていいなら、最も遠い頂点間を長径とする長方形でいいんじゃないの?
- 805 名前:デフォルトの名無しさん [2015/10/03(土) 22:30:23.52 ID:GmUX5JOa.net]
- 線分でしてみます。
- 806 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 22:31:15.33 ID:RI5yhOba.net]
- 指定した点Pが凸多角形Xの内側か外側かはベクトルの内積で判定できるので、
凸多角形Yが凸多角形Xと重なりを持つかどうかなら、Yの辺を構成する全部の画素について上と同じことをやれば良い、 もし、YとXが非接触の状態から、Yの内側にXがいきなり飛び込むケースが在る場合は、 念のためXとYを入れ替えた判定もやる 単純にビットマップのANDでも取る方が幸せ鴨、 本当かどうかは知らん
- 807 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 22:34:55.68 ID:RI5yhOba.net]
- 訂正
誤:単純にビットマップのANDでも取る方が幸せ鴨、 正:が、小さい判定領域であればそこまでやるより単純にビットマップのANDでも取る方が幸せ鴨、
- 808 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 01:30:06.66 ID:RUTa+wSI.net]
- >>793
簡単 頂点を引き伸ばせばよい uploda.cc/img/img56100238268d5.png ↑適当な図
- 809 名前:デフォルトの名無しさん [2015/10/04(日) 03:21:04.05 ID:ZIaV4muE.net]
- >>798
そういう図は何で描いてるの?
- 810 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 04:42:29.50 ID:r2m0aNE2.net]
- C++スレなんだからC++じゃないの
ちな、このレスもC++で書いてる
- 811 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 10:03:01.78 ID:J4whK/1Y.net]
- JavaScriptの、isPointInPath のように、
その点が、図形のパス内にあるかどうか、判別できないの? それか、RGBAのアルファ値の、250〜255を、 アルファ値として使わず、 物体の判定用フラグとして使うとか
- 812 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 10:06:56.41 ID:yZJnSbHB.net]
- >250〜255を、アルファ値として使わず
30年前のC++使いが考えそうなクソ設計だな
- 813 名前:デフォルトの名無しさん [2015/10/04(日) 10:40:50.29 ID:+wQ6czRK.net]
- 内積で判定するのってどうやるの?
- 814 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 11:26:51.95 ID:r2m0aNE2.net]
- >>803
言いたかったのは ttp://www.nttpc.co.jp/technology/measurement.html の「線分と点の位置関係の判定」の部分 (最後の方の簡単な式。前半の大量の式は内外判定ではなくて距離の算出方式の解説に費やされている。 だが、上の記事の第2回目にさらにいろいろ書いてあったわ; ttp://www.nttpc.co.jp/technology/number_algorithm.html 世間は広大だわ、
- 815 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 19:47:31.94 ID:T8eNBhl9.net]
- boost::geometry に何かないの?
- 816 名前:デフォルトの名無しさん mailto:sage [2015/10/05(月) 14:18:19.75 ID:VFapxPBu.net]
- VC++2015にて
std::map<std::wstring, std::wstring> testmap; testmap[L"Hello"] = L"World"; const std::map<std::wstring, std::wstring>& testmap2 = testmap; std::wstring val = testmap2[L"Hello"]; この4行目でC2678 二項演算子 '[': 型 'const std::map<std::wstring,std::wstring,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>' の 左オペランドを扱う演算子が見つかりません (または変換できません) が発生するんだけど、要は「鍵と要素がwstring」で「constな」mapを上記のようにリテラル文字列で[]参照する書き方ってできる・・・? const std::wstring ws = L"Hello"; std::wstring val = testmap2[ws]; とかやってもだめだった エラーの詳細としては、mapのoperator[]に「wstring&」と「wstring&&」の両方があって曖昧だからNGらしい そもそもconstなmapなのに要素変更にも使える[]を呼んでいるのがダメってことかいね?const外せば動くし
- 817 名前:デフォルトの名無しさん [2015/10/05(月) 14:26:27.32 ID:9/62paZL.net]
- 同じ質問が最近にもあったような
- 818 名前:デフォルトの名無しさん mailto:sage [2015/10/05(月) 14:37:36.36 ID:VFapxPBu.net]
- 本スレの過去をmapで検索してもそれらしき件は見あたらず・・・(過去ログは読めない)
- 819 名前:デフォルトの名無しさん [2015/10/05(月) 14:41:46.58 ID:HSAikNuy.net]
- >>806
testmap[L"jerk"]; これだけで副作用が生じるわけで諦めるしかあんめー std::wstring val = testmap2.find(ws)->second; あえてendが返ったか見てないけど、 それはoperator[]と同質の問題ってことで
- 820 名前:デフォルトの名無しさん mailto:sage [2015/10/05(月) 14:43:47.49 ID:zntwOtDH.net]
- std::mapはconst版( operator[](const Key&) const )は無いよ−。
キーがなかったら新しい値を挿入するという動作だから。 ja.cppreference.com/w/cpp/container/map/operator_at findしましょ。
- 821 名前:デフォルトの名無しさん mailto:sage [2015/10/05(月) 14:48:47.23 ID:VFapxPBu.net]
- そうか、[]の時点で要素増えるからダメか
- 822 名前:デフォルトの名無しさん mailto:sage [2015/10/05(月) 23:43:18.77 ID:EGogu2NJ.net]
- C++の文法はクソだからな
コンパイラーが手を抜いてプログラマーが不利益を被る良い例だ
- 823 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 00:10:39.56 ID:1Ze1Ogug.net]
- >>806 https://www.google.co.jp/search?q=std+map+at
- 824 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 01:05:09.41 ID:CpsQkQ9O.net]
- C++の仕様がいい加減だからなのか、
regexのマルチライン対応なんかは、VCは対応でGCCは非対応だからな 行頭の^が文字列の頭になると行頭じゃえらい違いだよな
- 825 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 01:23:22.63 ID:EO5+cWSu.net]
- STLに問題があるようだな
- 826 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 01:25:23.49 ID:eWd5i2Y2.net]
- >>812
文法はあまり関係ないけど? 低脳が口挟んでも
- 827 名前:pかくだけだぞ []
- [ここ壊れてます]
- 828 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 11:20:11.67 ID:k9h8FU3j.net]
- むしろ文法があんなだから
コンパイラは手を抜けないとも
- 829 名前:デフォルトの名無しさん [2015/10/06(火) 11:54:27.84 ID:+syJpT4+.net]
- 文法じゃなくて意味が糞なんだよな
- 830 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 12:27:05.15 ID:Zn1/MkM8.net]
- そうそう、mapで思い出したけど
テーブルって実行時に初期化したくないやん ある程度の大きさのmapの初期化を出来るだけ実行時の生成コストを少なくするように記述するにはどうしたらいいのかな? 環境によって違うけど 構造体の配列とかだと、初期化子リスト付けとくと、.dataセクションに即値が書かれてて 初期化時にはそれをコピーしてポインタをセットして準備完了 それと同じようなことをmapでやって見たい c++11だとmapでも初期化子リスト使えるからそれでいけるのかな? 何年か前にg++でコンパイルして.dataセクション見てみたけど当時はmapの即値になってるように見えなかった c++03とかだとどんな手があるんだろう??
- 831 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 12:35:26.69 ID:k9h8FU3j.net]
- そうそう、mapで思い出したけど
テーブルって実行時にメモリ使いたくないやん ある程度の大きさのmapは実行時にメモリのコストが大きいけどどうしたらいいのかな? https://research.preferred.jp/2011/07/stllike-containers/
- 832 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 16:00:02.92 ID:wWQ1shVW.net]
- 初期化はだって実行時じゃないか?
- 833 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 20:34:00.60 ID:hYLbQ3+q.net]
- どうしてもdataセクションにそのままアクセスしたいのであればキーと要素を持つクラスをキーでソート済みの配列で書いてstd::mapのconstメンバ関数と同じものを持つラッパークラス書くとかかな
- 834 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 21:14:23.94 ID:mXRqVUnf.net]
- >>821
要するに map を実行時に構築するんじゃなくてコンパイル時に構築しといて実行時はメモリーコピーだけにならんもんか? っつーことでしょ たまに俺もそう思うことがある
- 835 名前:デフォルトの名無しさん [2015/10/06(火) 21:27:26.34 ID:jUDOLtzl.net]
- 確かにねー
そんな気することよくあるよな constexprなコンストラクタでどこまでできるのかと
- 836 名前:デフォルトの名無しさん [2015/10/06(火) 21:34:08.29 ID:MCB0h3nq.net]
- シリアライズかデータベースつかえ
- 837 名前:デフォルトの名無しさん [2015/10/06(火) 21:37:47.97 ID:MCB0h3nq.net]
- >>820の意図するところと、>>823は別で>>820は省メモリにしたいって話だろ。
- 838 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 21:54:53.32 ID:2Pt1OMoQ.net]
- 配列に入れて線形探索
要素数が小さいうちは線形探索はもともと他より致命的に悪いわけではないし 今日日のCPUならキャッシュと分岐予測とOOOの華麗な連携プレーを目の当たりにできる
- 839 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 22:43:09.92 ID:8+tr+OYB.net]
- これは遅くなりそうだからってがんばってマップ作ったら
線形探索ゴリ押しの方が速かったことならある
- 840 名前:デフォルトの名無しさん [2015/10/06(火) 22:47:58.27 ID:Cu8Zkmdv.net]
- 二分検索じゃだめなの
- 841 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 23:07:19.25 ID:hYLbQ3+q.net]
- std::sortもstd::lower_bound もあるんだからバイナリサーチぐらいしようぜと
- 842 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 05:07:06.28 ID:vlTfjNXN.net]
- >>826
>>823 は >>819 の > ある程度の大きさのmapの初期化を出来るだけ実行時の生成コストを少なくするように記述するにはどうしたらいいのかな? の話だよ データベースとか頓珍漢過ぎ
- 843 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 07:13:23.42 ID:JsRvQDZJ.net]
- コードの工夫で初期化コストを改善するのではなく
データベースでの永続保存という別手法での改善方法もあり得ることを示すことが それほどトンチンカンとも思えないが
- 844 名前:デフォルトの名無しさん [2015/10/07(水) 08:23:24.99 ID:PbTUGDDG.net]
- mapはエントリーを追加できるんだからドンダケ待ってもそうはならないと思。
- 845 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 08:34:53.72 ID:q7nyuwNL.net]
- >>832
なにを改善したいかも理解してないアホ w
- 846 名前:デフォルトの名無しさん [2015/10/07(水) 08:52:16.49 ID:d/PBWwg/.net]
- static_mapみたいな名前になるんだろか。
- 847 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 09:44:01.58 ID:0iwSPjqO.net]
- Rubyでは、Hashの要素数が増えていくと、再編成される
バケット数は、2の累乗付近の素数を使う。 つまり、倍々に増やしていく 8+3, 16+3, 32+5, 64+3, 128+3, 256+27, 512+9... 1つのバケットには、平均して5つの要素を入れる(衝突)。 11*5=55, 19*5=95, 37*5=185... つまり要素数が、56, 96, 186...個になると、 バケット数を増やして、再編成する 普段、1万個の要素を追加するのに、8msかかるが、 再編成するタイミングでは、20msかかる。 要素数が増えていけば、もっとかかるだろう
- 848 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 11:02:09.32 ID:8pl0pVx/.net]
- C++のスレでRubyとかアホなの?
環境も書かずに2msとかアホなの? C++なら1万個追加で1msだ
- 849 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 11:19:07.99 ID:vH7WjwMJ.net]
- 昔、某オンラインゲームの支援ツール作って、プロセスメモリ上にあるVC++2008実装のstd::mapの
テーブルを直接アクセスするコードを書いたのを思い出した
- 850 名前:デフォルトの名無しさん [2015/10/07(水) 11:20:45.74 ID:Qd1lXfpw.net]
- そういった成功体験は捨てたほうがいい
- 851 名前:836 mailto:sage [2015/10/07(水) 11:50:30.95 ID:0iwSPjqO.net]
- 「Rubyのしくみ」という本に書いてあるのだが、
RubyのHashは、Peter Moore が考案したもの。 C++でも、彼のロジックを使っているのなら、同じかなと思って mapの要素数が増えていくと、 バケット数を増やして、再編成されるので、 その際、全要素が移動するから、どうしても遅くなる だから、メモリ的には損だが、 最初から大きめのバケット数を確保しておけばよい
- 852 名前:デフォルトの名無しさん [2015/10/07(水) 13:03:07.75 ID:gQOBln3k.net]
- ん、std::hashって算法まで規定されてたっけ?
17.6.3.4を見る限りそうではなさそうだが
- 853 名前:デフォルトの名無しさん [2015/10/07(水) 14:19:20.92 ID:4iZc7XH3.net]
- struct hoge{};
const hoge h; をコンパイルすると error: uninitialized const 'h' と出ます。何故ですか constを外すとコンパイルできます。GCC4.4です。
- 854 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 15:58:16.91 ID:2UUkd3/F.net]
- 定数は値が書き換えられないわけで
最初の時点で値を代入しなかった場合、「お前なんのために定数宣言したの?」って突っ込まれてる
- 855 名前:デフォルトの名無しさん [2015/10/07(水) 16:15:42.33 ID:4iZc7XH3.net]
- vcではエラーにならないのは何故ですか
どっちが正しいですか
- 856 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 16:35:55.12 ID:vH7WjwMJ.net]
- どっちかというとGCCのほうが余計なお節介?
- 857 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 16:40:45.70 ID:jyxNZJK8.net]
- そうそう、馬鹿が作ったプログラムがちゃんと動かなくてもコンパイラの責任じゃないしね…
- 858 名前:デフォルトの名無しさん [2015/10/07(水) 16:42:23.02 ID:Qd1lXfpw.net]
- ideone.com/Sr2PO1
エラーにならないけれど
- 859 名前:デフォルトの名無しさん [2015/10/07(水) 17:24:17.24 ID:gQOBln3k.net]
- 842は警告ではなくエラーなのはなぜかと聞きたいんだろ
- 860 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 17:42:19.19 ID:tt9P1ak1.net]
- どっちが正しいも糞もないのでは
- 861 名前:デフォルトの名無しさん [2015/10/07(水) 19:09:00.13 ID:qAlHmwsj.net]
- gccはいつも糞だから、これもgccが悪いんじゃねーの。
- 862 名前:デフォルトの名無しさん [2015/10/07(水) 19:11:12.75 ID:Qd1lXfpw.net]
- gccではエラーにならないと言っているだろ
- 863 名前:デフォルトの名無しさん [2015/10/07(水) 20:31:15.75 ID:lwnukUe8.net]
- なるから言ってるんですアホなんですか
- 864 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 21:27:09.31 ID:BAz1ThzD.net]
- >>849
少なくともお前が糞なことは確か
- 865 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 21:40:43.83 ID:3DMfLJBU.net]
- 標準C++ではエラーになるのが正しい
VC++でエラーにならないなら標準非準拠か独自拡張 クラス型のconstオブジェクトをデフォルト初期化(で定義)するときは そのクラスにはユーザ定義のデフォルトコンストラクタがなければならない >>847がエラーにならないのは静的記憶期間のためゼロ初期化されて上記には該当しないから
- 866 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 23:01:49.00 ID:JsRvQDZJ.net]
- >>854
>ゼロ初期化されて上記には該当しないから フーン、それはISO/IEC 14882:2014のどこに書いてあるのですか?
- 867 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 23:06:57.63 ID:pNycS8F+.net]
- パーサー書いたことある人いますか
一応作ったけどすごい難しいというか面倒というか どういったアルゴリズムがいいのか馬鹿だからわからん
- 868 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 23:22:04.98 ID:ftNCaisU.net]
- BoostにC++パーサーがあったような
- 869 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 23:23:53.25 ID:Kru1mWVv.net]
- boost::spiritでおk
- 870 名前:デフォルトの名無しさん [2015/10/07(水) 23:24:01.37 ID:gQOBln3k.net]
- (1)文字単位の検査 →エラー文字を弾く
(2)文字を結合してトークンを作る →エラートークンを弾く、コメントなど延期トークンをまとめる (3)トークンを結合して再帰的ツリーを作る →構造の欠損を弾く (0)メタな表記がある場合、そのメタ表記についてまた(1)から逆再帰的に繰り返す できたツリーを意味解析に渡す
- 871 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 23:25:58.96 ID:0v/h/3vS.net]
- >>856
オープンソースのパーサー腐るほどあるだろそれいっぱい読め
- 872 名前:デフォルトの名無しさん [2015/10/08(木) 00:13:00.11 ID:p7bZHcv9.net]
- >>856
あります。 ・(E)BNF ・HTTP ・Sentence segmentation 等書きました。
- 873 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 04:32:10.77 ID:FlZYA0H2.net]
- >>856
LL(5)位がおすすめ
- 874 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 06:37:28.57 ID:ETVAEvki.net]
- >>862
なんでLL(5)んああんだよ? 5記号先読みするパーサなんて一般的じゃないだろJK、 ていうかLL(1)(再帰下降構文解析の一番簡単なやつ)とかは 素人でも勝手に再発見するがそこで理解が止まってしまうと 数式のパーサで死ぬので(そのまま作ると2項演算子が全部右結合になってしまう 、やpっぱまずわ正規言語のパーサあたりからから作ってみて感触をつかんだるのちに ボトムアップパーサの理解に進むべし、
- 875 名前:デフォルトの名無しさん [2015/10/08(木) 11:19:30.61 ID:GTAWjzct.net]
- LL(1)はLL(1)文法になるように人工的に作り出した言語にしかほとんどつかえないからな
LL(5)位なら適当にある言語ならほとんど解析できるだろ
- 876 名前:デフォルトの名無しさん [2015/10/08(木) 12:23:57.11 ID:GTAWjzct.net]
- 左結合にしたければカッコつければいいだけだし
右結合する演算子なんて普通無いしな
- 877 名前:デフォルトの名無しさん [2015/10/08(木) 12:25:42.38 ID:PEkcocuS.net]
- バックトラックはセキュリティの問題をはらみやすいので避けたほうが良い。
- 878 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 12:28:11.85 ID:GTAWjzct.net]
- また例の再帰関数大嫌い君か
- 879 名前:デフォルトの名無しさん [2015/10/08(木) 12:33:40.58 ID:PEkcocuS.net]
- 好き嫌いの問題ではないはず。
安全か安全でないか。
- 880 名前:デフォルトの名無しさん [2015/10/08(木) 12:39:28.24 ID:GTAWjzct.net]
- 妊娠と同じですとでも言いたいのか?
- 881 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 13:46:07.06 ID:XT2XQMd7.net]
- template関数をvirtualにはできない制限って今後のC++でも続くんでしょうか?
そもそもこの制限の理由は仮想関数テーブルを作るコストが大変だから、ってやつですよね? コンパイル時間かかってもいいからやってくれ、ってニーズはないんでしょうか?
- 882 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 14:03:10.79 ID:jZEKLa+0.net]
- 具体的にどういう風に仮想関数テーブルを構築したら
template関数のvirtual化が可能なんですか? 分割コンパイルは可能なのですか? コンパイル単位を守れるのですか?
- 883 名前:デフォルトの名無しさん [2015/10/08(木) 14:29:05.60 ID:1TGlpU6G.net]
- >>871
やってみろよ、まず struct A { template <typename T> virtual void func(T) { } };
- 884 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 14:40:04.09 ID:jZEKLa+0.net]
- そんなこと出来っこないだろう、という返しだったのですが・・・
- 885 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 14:48:15.03 ID:jZEKLa+0.net]
- プログラムに必要なソースコードをグローバルな視点ですべて解析してから
コード生成を開始するならテンプレートな仮想関数どころか もっととんでもない事が可能かも知れんが C++はcpp単位で分割コンパイルするのがルールだから無理っていう baseクラスをコンパイルしてvtable作る時には それにどんな派生クラスがあるか分らないし、分らなくてもコンパイルできるように なってるのがC++のルールだからね
- 886 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 15:32:00.85 ID:YWpiDxnr.net]
- テンプレートのインスタンスの概念すら知らないってことでしょ?
こんなの初心者レベルの内容じゃん やってみろよじゃねーよ
- 887 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 17:33:27.84 ID:G0kXf/E8.net]
- むしろ出来ないと主張する根拠を聞きたいものだ
- 888 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:00:23.72 ID:TDkjtQvD.net]
- 今の仕組みじゃ出来ないだろ。
普通のvtableより更にものすごく遅い 仕組みでやるなら出来ないことはないだろうが。
- 889 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:07:23.28 ID:G0kXf/E8.net]
- ISO/IEC 14882:2014は別にvtableの実装を要求してないのだが
「今の仕組み」が普遍的なものであるかのように語られても
- 890 名前:デフォルトの名無しさん [2015/10/08(木) 18:11:00.56 ID:1TGlpU6G.net]
- vtable以外の実装の具体例もしくは具体案なしに空想論を語られてもねえ
今んとこ「できるわけない」という立場を取っているが 説得力のある反論〜反証は金払ってでも拝聴したい
- 891 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:12:29.15 ID:jZEKLa+0.net]
- 普通に考えて無理だろう
実行時に動的にロードする事も有るし うまくいくとは思えないね
- 892 名前:デフォルトの名無しさん [2015/10/08(木) 18:12:44.05 ID:GTAWjzct.net]
- 出来るからやるんじゃない
出来ないからやるんだよ
- 893 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:13:11.65 ID:TDkjtQvD.net]
- vtableより早い仕組みがあれば
vtableに置き換わるだろうが vtableでできないなら何らかの 遅い仕組みで実装しなきゃいけない。 その機能を使わない場合に遅くならないようにするためおそらくはvtableとのハイブリッドになる。 少なくとも現状の仕様でできないのだから、できるというならリーズナブルな実装の一つでも提案しろと。
- 894 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:20:47.25 ID:G0kXf/E8.net]
- なんだ
「俺の使ってる糞コンパイラーではできない」 ってとか。そりゃしょーがない
- 895 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:22:57.97 ID:jZEKLa+0.net]
- struct base { template< typename T > virtual void method( T ){} };
struct derived : public base { template< typename T > void method( T ){} }; このとき、 base::method< int >(); base::method< float >(); derived::method< int >(); derived::method< float >(); の関数の実態があったとき、仮想関数に詰め込む順番をあわせる必要が有る これはリンカで行うしかないが、動的にロードする場合はどうなるんだという問題が出る また、derived::method<double>() を追加したとして baseの方に対応する関数がなかった場合はどうするんだという問題が出る リンカエラーにするのかvtableを拡張するのかどうするのか 動的にロードする時にどうするのか
- 896 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:33:41.15 ID:TDkjtQvD.net]
- 凄いな。
それができるc++コンパイラを持っているらしいぞ。
- 897 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:55:11.54 ID:G0kXf/E8.net]
- 「分割コンパイルするから無理」「テンプレートのインスタンスの考えからして無理」
と言うから理由を聞いてみたのだが 「ボクのvtable実装では無理」とか、話をすり替えるなんて 非仮想関数と非テンプレ仮想関数は追加オーバー無しでテンプレ仮想関数を実現する方法さえ思いつかないらしい
- 898 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 19:11:16.86 ID:TDkjtQvD.net]
- だから追加オーバーヘッドの無い
実装方法や実装したコンパイラを 具体的に出せと。
- 899 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 19:14:33.28 ID:jZEKLa+0.net]
- どちらにしても、C++は一つのcppのコンパイル中は、それしか見えない仕様
コンパイル単位とかいう物がある だからテンプレート仮想関数のvtalbeの構築はリンカに頑張ってもらうしかないが 動的にリンクする場合はどうするんだという問題が出てくる
- 900 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 19:20:02.77 ID:e3P/In2F.net]
- >>841
されない
- 901 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 19:28:15.57 ID:idvE5Tw4.net]
- >>888
動的じゃなくてもリンカーがインスタンス化されてないtemplate仮装関数を発見しちゃったらtemplateのコードをインスタンス化してコンパイルやり直さなきゃいけないよね 動的リンクするならコンパイラを実行ファイルに組み込まなきゃいけない JITありのインタプリタみたいなものになる そんなものを規格に入れるわけがない
- 902 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:03:43.82 ID:YWpiDxnr.net]
- >>886
黙ってろゴミ
- 903 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:13:36.43 ID:ETVAEvki.net]
- vtable方式は構造体に(メンバ)関数へのポインタを埋め込む方法より
1段ポインタ参照が増えるから不利だが vtable方式をやめるとdynamic_castの実現で頭を抱えることになると思う
- 904 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:17:35.06 ID:tERbEPZQ.net]
- 相変わらず雲をつかむような話で喧嘩できるエスパーなスレですね
- 905 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:19:58.94 ID:fbjyyooL.net]
- え?お前出来ないの?
- 906 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:43:07.22 ID:YWpiDxnr.net]
- そもそも規格で駄目と明言されてる事なのに
自分じゃできないからって、実装方法すら他人を煽るわせびるわ 頭悪いにも程があるだろコイツ
- 907 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 21:05:21.80 ID:idvE5Tw4.net]
- >>895
現時点での規格で駄目だとしてもそれが将来的に実現可能かどうか、妥当かどうかを考えてみるのは興味深い事だと思うよ ただ、なぜか彼は偉そうで喧嘩腰なのがいただけないけど
- 908 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 21:07:33.55 ID:p4LiiGTw.net]
- 婆ちゃんのために天ぷら揚げないで
- 909 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 22:26:31.48 ID:XT2XQMd7.net]
- >>874
>プログラムに必要なソースコードをグローバルな視点ですべて解析してから >コード生成を開始するならテンプレートな仮想関数どころか >もっととんでもない事が可能かも知れんが ですよね C#の生産性の高さを考えると、C++ももう少しユーザに優しくあってほしいと思うわけです 当方数値科学計算が仕事ですがC++歴は浅いので、戯れ言として聞き流してください
- 910 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 22:40:21.99 ID:ETVAEvki.net]
- >>874
>プログラムに必要なソースコードをグローバルな視点ですべて解析してから >コード生成を開始するならテンプレートな仮想関数どころか >もっととんでもない事が可能かも知れんが あーそれかなり無理 任意のプログラムに対して有限停止問題が解けるというのと多分同義
- 911 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:01:41.40 ID:3NeJM4zm.net]
- かなり無理は不可能なのかそうでないのか
- 912 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:08:18.42 ID:GfpzmItO.net]
- 必要なソースコードをグローバルな視点ですべて解析してからコード生成
と同等のことは他言語でやってること
- 913 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:09:59.28 ID:m6l+7vgz.net]
- 言葉の意味まで変更してしまえば当然なんでも可能です
- 914 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:21:28.96 ID:IUqyiVrM.net]
- >>901
へえ、例えば? そういう言語があるとしたらそれソースコード以外のライブラリが使えないんだけどそういう言語はインタプリタで実行するものしか知らんなあ そういう言語は大抵そこを実行するときに他のソースを読み込むし
- 915 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:23:34.66 ID:m6l+7vgz.net]
- C#ではジェネリックなメソッドをオーバーライド出切るんだけど、
C#のジェネリックとC++のテンプレートは仕組みが違うからなぁ
- 916 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:26:43.46 ID:m6l+7vgz.net]
- C#はそこそこ頑張っているんじゃないのかねぇ
ヘッダファイルは無いし、複数のファイル間で相互参照があっても うまいことコンパイルしてくれるって聞いたこと有るぞ
- 917 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 06:57:51.96 ID:VT/0EZUp.net]
- >>899
> 任意のプログラムに対して有限停止問題が解けるというのと多分同義 全然違うと思う
- 918 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 09:59:13.28 ID:4cEJzv4C.net]
- >>904
抽象でしかできないぞ
- 919 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 13:36:37.06 ID:IUqyiVrM.net]
- >>904
ググっても エラー出るよ助けてよー 出来ないから別の方法使え しか見つからなかったけど本当に出来るの?
- 920 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 18:02:05.60 ID:m6l+7vgz.net]
- 「ジェネリック メソッド オーバーライド C#」
でググって一番上にあるのに何を検索したんだかww あまりにも検索能力が低すぎて日常にも支障が有るレベルでは
- 921 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 18:22:33.28 ID:IUqyiVrM.net]
- >>909
ttp://qiita.com/monry/items/5a512cfedba665b09135 これのことじゃないよね?
- 922 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 18:36:34.10 ID:IUqyiVrM.net]
- ああ、ここのコメントに書いてあった
オーバーライドしてねえじゃんで読むの止めてしまったわ
- 923 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 23:04:30.76 ID:9aZeSACJ.net]
- いつも常に自分の足を撃たないように地雷原を歩いてる気がする
新機能がオアシスに見えて逃げ水どころか底なし沼だったり、何だこの、これ
- 924 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 23:53:06.45 ID:UhDsPJDp.net]
- もし生まれ変わって再びプログラミングの世界に入るとして、C++選ぶのかな?
- 925 名前:デフォルトの名無しさん [2015/10/10(土) 00:59:46.33 ID:kmqm1hww.net]
- 生まれ変われるとしたら(C+=2)-1かな
例外のクソすぎるところをやり直させてくれるベルダンディが降臨したら迷わず帰依する
- 926 名前:デフォルトの名無しさん [2015/10/10(土) 01:03:34.69 ID:kmqm1hww.net]
- 頼みもしないスタック巻戻しにくっついてくるRTTIだとか
バカ高いコストのくせに RESUME NEXT がないとか
- 927 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 01:24:55.29 ID:E0664ZmB.net]
- >>914-915
コストって何がどれだけあること言ってんの?実行時間?メモリ使用量?コードサイズ? 最近のコンパイラなら問題になることなんてほとんど無いと思ってるんだけど。
- 928 名前:デフォルトの名無しさん [2015/10/10(土) 01:33:54.53 ID:kmqm1hww.net]
- ほとんど無いと思ってて
- 929 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 01:46:30.25 ID:E0664ZmB.net]
- >>917
答えられないってことは、どうせ迷信や10年前のコンパイラでの話を未だに信じてるだけなんでしょ?
- 930 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 06:51:03.57 ID:fP3IUTM/.net]
- resume nextってなんぞやとググったらVBかよ
- 931 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 08:05:16.97 ID:CCNhJ4kM.net]
- デフォルトのコピーコンストラクタやコピー代入演算子って
コピー時に各
- 932 名前:メンバに対して(ビットコピーではなく)
コピーコンストラクタやコピー代入演算子を呼び出すことは保証されてる? ポインタを持たせても、生ポインタではなくshared_ptrを使う限りは デフォルトのコピーコンストラクタやコピー代入演算子に任せても安全? [] - [ここ壊れてます]
- 933 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 08:25:34.33 ID:QRzKPIbr.net]
- >コピー時に各メンバに対して(ビットコピーではなく)
>コピーコンストラクタやコピー代入演算子を呼び出すことは保証されてる? そうか考えたこともなかった >>920頭いいな
- 934 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 08:29:34.25 ID:fP3IUTM/.net]
- >>920
安全
- 935 名前:デフォルトの名無しさん [2015/10/10(土) 08:40:12.34 ID:kmqm1hww.net]
- >>918
なんの今現在の話だよ ちょっとやってみりゃすぐわかる馬鹿なこと聞くから相手してやんねーの
- 936 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 08:50:45.32 ID:fP3IUTM/.net]
- >>923
いいからVBつかっとけよ
- 937 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 14:35:21.78 ID:C2+tlbor.net]
- ちょっと調べればすぐ分かるから教えてやらない(震え声)
いい加減に適当に喧嘩をふっかけてそれを買うとすっとぼけるのはやめようよ まったく意味のないトラブルばかり招くから…
- 938 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 16:00:00.63 ID:WQItE+Nd.net]
- VBと比較してる時点でどうせネットの風評信じて自分の目で
実際の正常系に影響与えてるかどうか検証してないだけだろう さもなくばただの条件分岐に例外多用してるアレな人か
- 939 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 16:53:49.17 ID:E0664ZmB.net]
- >>923
ちょっとやってみりゃ↓こんな結果(-2.6%~+4.0%)になるだろうってのがわかってるんだよ。 preshing.com/20110807/the-cost-of-enabling-exception-handling/ この結果でも4年前のだしな。
- 940 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 17:12:47.93 ID:+pTteXD6.net]
- resume nextが欲しいと思う時点でやばい
- 941 名前:デフォルトの名無しさん [2015/10/10(土) 18:29:23.01 ID:DZQ9wvWi.net]
- >>925
調べればじゃねえよ、やってみればだ とぼけてるのはおまえだろ 怠け者め なんで4年前の記事なんか引っ張んだよ おまえがやれ、つーかできねえんならこの板ではROMってろ
- 942 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 19:31:04.17 ID:WQItE+Nd.net]
- >>929
やんのはオメーだろ
- 943 名前:デフォルトの名無しさん [2015/10/10(土) 20:43:07.08 ID:DZQ9wvWi.net]
- なすり合いってことにしたいんなら
そうすれば? おまえが何も得ないだけだし
- 944 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 20:52:50.43 ID:wZWPBuKi.net]
- 擦り付け合いとかじゃなく、
お前がやれ その結果は書き込まなくて良い
- 945 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 20:53:39.88 ID:WQItE+Nd.net]
- 馬鹿じゃねーの?押し付けてんのはお前だろ
せめて自分で実際にやってから言えよクズ
- 946 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 20:54:33.77 ID:RukYXTRG.net]
- まあまあ
- 947 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 21:14:34.91 ID:LXdnro1p.net]
- えらそうに言う奴は先ずテメーのソースコードをここに貼ってみろや!
- 948 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 21:31:15.08 ID:PxJo6CPN.net]
- おらおらおらおらー
- 949 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 21:43:47.39 ID:0dTjLyRb.net]
- やめて!
俺のために戦わないで!
- 950 名前:デフォルトの名無しさん [2015/10/10(土) 23:11:33.18 ID:6QuLtZGt.net]
- 以上のような状態をセックスと定義します。
男同士でセックスするのはホモです。 従って>>929以降はホモ野郎という事になります。 気持ち悪い。
- 951 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 23:20:00.07 ID:9fj3wNmr.net]
- >>938
その定義だとお前もって事になるけど大丈夫?
- 952 名前:934 mailto:sage [2015/10/10(土) 23:38:35.56 ID:pverhzbk.net]
- まず「以上のような状態」を定義してくれ
なぜ俺はホモ疑いに巻き込まれたんだ
- 953 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 23:40:41.29 ID:0dTjLyRb.net]
- 通常の定義と全く異なる俺定義を展開されても
しかも言葉のすり替えでホモに結論づけするとは悪質だな
- 954 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 01:48:42.13 ID:XDL1o532.net]
- homoとhogeって似てるな
- 955 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 02:35:14.49 ID:cdE875Rm.net]
- C++書く人達って無駄に攻撃的な人多いね
- 956 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 03:49:40.51 ID:Nau1HDji.net]
- C++技術者にも色々いるだけだ
- 957 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 04:00:43.62 ID:PVe4pURO.net]
- ID:kmqm1hww
とかVBだしな C++に限らない
- 958 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 04:51:42.92 ID:gSJDxW7y.net]
- おっと江○添の悪口はそこまでだ
- 959 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 15:18:32.98 ID:OMjxUQhq.net]
- ごちゃごちゃ言ってないでしゃぶれよ
- 960 名前:デフォルトの名無しさん [2015/10/11(日) 21:07:53.47 ID:WBYIj+O0.net]
- VBだっておバンバン
それWindows世代だろw
- 961 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 06:25:32.18 ID:b39cwc+L.net]
- >>942
ソフトウェア商品のグレードなんかの Home Edition てのも Homo Edition に似てるね。
- 962 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 12:18:52.11 ID:eT/PtTP3.net]
- なんだそのクリックすると喘ぎ声が出そうな製品
- 963 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 18:00:35.40 ID:ouSN4Vlw.net]
- std::coutというか,basic_ostreamのoperator>>についての質問?なんですが,
javaの課題をC++でやってみようとおもって,まだ途中なんですが以下のコードを書きました. codepad.org/DdMr0gro これをVS2015環境下でデバッグ実行すると,コマンドライン上に [test] と書かれるはずが ] est つまり,basic_ostreamのイテレータ?が最初に戻ってしまう現象が現れました. (コマンドライン引数には data/test.txt を指定して,dataフォルダに 「test」と書かれたtest.txtを配置しています.) おそらくifstreamかgetline()が原因なんだと思いますが,cinとcoutの同期が 原因かなと思ってtieしても解決しませんでした. なにが原因でこうなってしまうんでしょうか?
- 964 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 18:16:39.48 ID:KCAkXS7a.net]
- ソース読んでないが、テキストファイル側にbom付いてるだけじゃね
- 965 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 18:20:47.78 ID:aH9tdNzV.net]
- ios::binaryで読んでるから\r\nが\nに変換されずに読みこまれてる
coutに\rを入れるとその行の先頭にカーソルが移動する
- 966 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 18:43:29.57 ID:ouSN4Vlw.net]
- なるほど,改行コードのことだとは気付きませんでした.
となると,自分で取り除くか,binaryではなく,ios::inにするとよさそうですね. ありがとうございました.
- 967 名前:デフォルトの名無しさん [2015/10/15(木) 20:43:14.49 ID:Z5UOv0gP.net]
- ストリームはクソだわ
- 968 名前:デフォルトの名無しさん [2015/10/15(木) 20:59:33.37 ID:kRNzdeWM.net]
- そこでHaskellですよ。
- 969 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 21:31:42.27 ID:Pl/e/d+4.net]
- Javaの課題を写したんなら当然だがc++らしくないな
いっそ元の問題を晒してみたら? だれかかっこいいc++を書きてくれるかもよ
- 970 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 22:21:39.39 ID:eGvButUC.net]
- >>956
IOは副作用がある (キリッ
- 971 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 22:39:21.45 ID:4rmzgbky.net]
- >>958
そこでモナドですよ(キリッ
- 972 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 23:43:57.69 ID:KCAkXS7a.net]
- っ ::fscanf
- 973 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 00:21:52.64 ID:yFhNulgB.net]
- std::fscanfでなく::fscanfを薦める奴に
ロクな奴はいない
- 974 名前:デフォルトの名無しさん [2015/10/16(金) 01:22:34.18 ID:MCA6CYcJ.net]
- extern "C" int fscanf(FILE*, const char* ...);
namespace std { using ::fscanf; }
- 975 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 08:30:18.81 ID:15bBcd+N.net]
- 可変長引数って
func(const char *s, ...) func(const char *s ...) どっちが正しいの?
- 976 名前:デフォルトの名無しさん [2015/10/17(土) 11:43:59.18 ID:U1ERA7pu.net]
- #include <iostream>
using namespace std; template<typename ...T> auto f(T...x)
- 977 名前:{
for(int i:x...) cout<<i<<endl; }; int main() { f(1,2,3); return 0; } 昔こういうことが出来たような気がするんですが どうやるのか忘れました 教えてください [] - [ここ壊れてます]
- 978 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 12:19:44.07 ID:e8xa7PiS.net]
- >>963
どちらも正しい
- 979 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 12:28:14.71 ID:e8xa7PiS.net]
- >>964
for (int i: {x...}) initializer_listを構築してそれをイテレートする
- 980 名前:デフォルトの名無しさん [2015/10/17(土) 12:50:24.84 ID:U1ERA7pu.net]
- ありがとうございます
- 981 名前:デフォルトの名無しさん [2015/10/20(火) 18:25:41.85 ID:3vGCFixJ.net]
- ファイルから指定文字列を検索したい。以下のコードだとsearchが実行時にエラーExpression: istreambuf_iterator is not dereferencable
ifstream f("Text.txt"); string s("is"); istreambuf_iterator<char> eof; eof == search( istreambuf_iterator<char>(f.rdbuf()), //f.rdbuf(), eof, s.begin(), s.end()) ); VS2013です どうすればいいですか
- 982 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 20:46:00.53 ID:8yDPqMwa.net]
- cpprefjp.github.io/reference/iterator/istreambuf_iterator.html
-------引用開始------- istreambuf_iteratorは、operator++()でイテレータを進めることにより、ストリームバッファのsbumpc()メンバ関数でストリームからデータを読み込む入力イテレータである。 ストリームからのsgetc()メンバ関数による読み取りがTraits::eof()を返した場合に、イテレータはendイテレータと等しくなる。 -------引用終わり------- って事で、1文字ずつしか読み込まないのでは?
- 983 名前:デフォルトの名無しさん [2015/10/20(火) 21:44:27.08 ID:RWFAio1T.net]
- eofに代入してないね
等値比較して結果を捨ててる
- 984 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 21:51:20.77 ID:wM4Y4a1V.net]
- >>968
案1 ファイルの内容を全部stringに読み込んでfindする 案2 ファイルの内容を全部stringに読み込んでregexする 案3 外部コマンドとしてgrepとかawkとかsedをインストールしておいてc++から起動する お好きな方法でどうぞ
- 985 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 22:01:04.78 ID:82Xf4s6u.net]
- std::searchはForward Iteratorを要求するから
Input Iteratorのistreambuf_iteratorを渡してもだめだわさ std::findならInput Iteratorでいいから一文字目だけをfindで見つけて 二文字目以降は別にチェックするとか
- 986 名前:968 [2015/10/20(火) 23:37:01.59 ID:3vGCFixJ.net]
- ありがとう
試行錯誤してみるよ
- 987 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:46:27.98 ID:Kav8lZYy.net]
- >>973
一番簡単なのはstd::stringクラスのfindで 一番応用が利くのはstd::regex系を使いこなすこと だと思うな
- 988 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 00:48:57.67 ID:k2x/6pgE.net]
- #include <iostream>
#include <fstream> #include <iterator> #include <cstdlib> int main(int argc, char** argv) { std::ifstream ifs("src/main.cpp"); std::istream_iterator<char> is(ifs); std::istreambuf_iterator<char> ibf(i fs); std::istreambuf_iterator<char> ibf_e of; std::string istr(ibf,ibf_eof); std::cout << istr.find("std"); return EXIT_SUCCESS; }
- 989 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 01:47:07.42 ID:k2x/6pgE.net]
- あ、すまん。std::istream_iterator<char> is(ifs); この行不要な
それとcoutの最後にはstd::endlつけてやってくれ
- 990 名前:デフォルトの名無しさん [2015/10/22(木) 13:25:09.22 ID:3HJoxiXv.net]
- ベクトルのコピーで検索すると
ベクトル同士をコピー代入演算子でコピーするのが一番簡単なきがするのですが 違うやり方ばかり出てくるのはなぜですか? これがまちがっているということですか?
- 991 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 13:34:38.59 ID:TivbSMZT.net]
- まちがってないで
- 992 名前:デフォルトの名無しさん [2015/10/22(木) 13:47:47.59 ID:3HJoxiXv.net]
- ありがとうございます
- 993 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 13:55:49.77 ID:CPFSlH5N.net]
- 違うやり方ってのはstd::vector::assignでbeginからendまでコピーとか?
それのメリットはvector以外の型からもコピーできることかね
- 994 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 15:52:01.07 ID:wxGQnodN.net]
- >>977
単純なコピーの需要が少ないのでは? 単純コピーなら参照でも十分だし コピーするのは何かを変更したいからワザワザコピーしてを作るわけで 変更するならコピーするタイミングでやるのが簡単だからとか?? あと、要素に参照とかポインタが含まれている場合 シャローコピーになっちゃうわけで参照先の管理が面倒くさくなっちゃう ディープコピー作るなら一工夫必要だしね
- 995 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 16:46:09.18 ID:UnQTPRBv.net]
- vectorの便乗質問ですが、reserveされてしまった余分な容量を削除する方法としてswap技法
std::vector<T>(x).swap(x) がありますが、これは一時オブジェクトは全く作成されないのですか? 無名オブジェクトとはいえコンストラクタを呼んでいるわけですから、作成されてるような気がするのですが
- 996 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 17:44:22.04 ID:TivbSMZT.net]
- されてるよ
- 997 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:39:56.40 ID:UnQTPRBv.net]
- >>983
ありがとうございます。やはり作成されるのですね vectorの容量をシュリンクする効率的な方法としてswap技法を紹介してる人を目にしますが、 コードはシンプルになるものの処理効率が上がるわけではないですよね
- 998 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:43:29.83 ID:TivbSMZT.net]
- >>984
swap技法以外に、方法なくない?
- 999 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:49:05.63 ID:+o7cqPdB.net]
- >>981 は質問の意図をまったく把握してないから無視していいと思う
>>984 複雑で効率的な方法示してみなよ。無いから。
- 1000 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:53:09.88 ID:UZ6K9ouN.net]
- 自作のベクタークラスを作る
サイズを縮小する場合はreallocを使う
- 1001 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:56:31.41 ID:IiO/at8e.net]
- shrink_to_fit()
- 1002 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:59:03.48 ID:E1Ocrnf5.net]
- 最初から必要なサイズを確保すればいい。
- 1003 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 20:19:27.23 ID:gQOdFLsP.net]
- 春よこい
- 1004 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 21:33:39.08 ID:OXupIzBk.net]
- 次スレ
C++相談室 part120 peace.2ch.net/test/read.cgi/tech/1445516998/
- 1005 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 21:55:12.08 ID:kinLxVE3.net]
- >>989
必要なサイズがわかってるなら単なる配列でよくね?
- 1006 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 22:15:13.77 ID:TKCRaEBU.net]
- >>992
だったら君は配列だけ使ってれば?
- 1007 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 22:43:30.77 ID:kinLxVE3.net]
- >>993
必要なサイズがわかってるなら、そうしてますが何か?
- 1008 名前:デフォルトの名無しさん [2015/10/22(木) 23:19:22.19 ID:OwqJeF9X.net]
- 必要なサイズがわかっててもvectorなドアホがいたw
- 1009 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:21:34.94 ID:plnHfgiP.net]
- ポインタでも参照でもない変数って
仮想関数呼んでも呼ばれる関数が静的に決まるよね このときもvtable経由で呼ばれる?(仮想関数の呼び出しオーバーヘッドがある?) それともオーバーヘッド0で呼ばれる? それとも未定義? 最適化次第?
- 1010 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:21:45.47 ID:4GjtJ8Lk.net]
- 「わかる」タイミングの問題だ
- 1011 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:22:03.08 ID:l1df8Qjo.net]
- vectorって配列に比べてそんなにオーバーヘッドあるか?
- 1012 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:24:06.05 ID:Y4jcRaLX.net]
- スタック容量を減らすならarray < vector
- 1013 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:33:55.59 ID:rvBOfPQs.net]
- >>995
それをドアホというお前さんこそドアホである可能性
- 1014 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
- 1015 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|