X



C++相談室 part131 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b96-ov1m)
垢版 |
2017/07/29(土) 11:28:28.97ID:o30VDF4g0
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part130
http://mevius.2ch.net/test/read.cgi/tech/1490917669/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0579デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/04(月) 23:45:07.31ID:pd3pCmCq0
そうだね、ニュアンス的にはそっちだ
0583デフォルトの名無しさん (ワッチョイ 33e5-6h2J)
垢版 |
2017/09/05(火) 13:50:03.50ID:MHv2cVQ40
printf("We are the World."); ←わかる
cout << "We are the World" <<endl; ←わからない

printfは「関数」だからわかります。
coutの<<はシフト?よくわからないです。
なぜC++はこんな文字の出力のさせ方にしたんでしょうか?関数じゃダメだったんですか?
0586デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/05(火) 14:04:00.15ID:5KjI8r3d0
>>583
それはまさにC++の作者(以下、禿)が
彼の著書でアピールしていたことだ
coutとは何か? <<とは何か?
記号と意味はどこでどのように関連付いているのか
意味は関数で表記することにしよう
<<の意味を表記する関数の関数名をoperator<<としよう
プログラム言語の命令とデータは動詞と目的語だ
動詞は関数と1対1対応でよいが目的語の定義は動詞の蓄積だ
・・・てな具合
0591デフォルトの名無しさん (ワッチョイ c397-Pjaj)
垢版 |
2017/09/05(火) 18:48:59.76ID:Ol0Fklqi0
using namespace std;
double value = 1.23;
cout << "value = " << value << endl;
0592デフォルトの名無しさん (ワッチョイ 33e4-73wU)
垢版 |
2017/09/05(火) 19:06:29.40ID:/x4Q9Nfh0
>>587
お約束を破っているが流し込んでる感が出ているので芸術点高い
0598デフォルトの名無しさん (ワッチョイ 630d-8qEQ)
垢版 |
2017/09/05(火) 20:04:52.50ID:Xvi9WQb30
数学の演算子とプログラム言語の演算子のことじゃないかな。

+ - は数学とプログラム言語で一致
* / は数学と違うけど文字セットに乗除の記号がないし妥当な代用
<< をシフトに使うのはC系プログラム言語の独特の使い方
だったら << が出力になってもええじゃないか、という話。
0602デフォルトの名無しさん (ブーイモ MMff-QCDP)
垢版 |
2017/09/05(火) 20:11:12.82ID:TUBHCjnbM
>>595
ありがとうございます
保証するにはどうすればいいですか?
ググってstackoverflowとか見たんですが、できないという人もいたり
clear()を使えという人もいてよくわかりません
0603デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/05(火) 20:17:36.79ID:5KjI8r3d0
禿が言い出した<<と
おまいらが言い出す<<では
悪いが社会への影響度がまるで違う
大勢のPGが<<はI/Oだと素直に従うかどうかでだ
新しい言語に旧来の言語と似た記号が出てきたからって
同じ意味でなければならないという法はどこにもない
0608デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/05(火) 21:50:59.32ID:5KjI8r3d0
>>605
それな
俺も時々欲しくなるんだけど
キャリーを含む/含まないとかCHAR_BITの違いとかで
移植性が確保しにくそうだよな
記号を何にするかなんて後から決めりゃいいことだ
0609デフォルトの名無しさん (ワッチョイ c300-sFCB)
垢版 |
2017/09/05(火) 22:29:35.14ID:NIuXE25q0
>>605
ローテートなんて頻繁に使うものじゃないから

ビットが立ってる数を数えるとか、
ビットが立ってる位置を調べるとか、
バイト単位の並び替えとか、
小数から整数へ四捨五入とか、
他にいくらでも足したいものはある
0612デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/05(火) 23:58:08.13ID:5KjI8r3d0
ジョンバッカスだろ
0614デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/06(水) 00:21:11.51ID:eLdBXtqw0
operator?:ならマジで提案してみそ
あわよくば大手柄だぞ
0616デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/06(水) 00:47:00.85ID:eLdBXtqw0
613なりのcxxfrontでも作ればいい
0620デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/06(水) 08:45:25.92ID:6GspjXt70
>>618
BASICのように=の意味が文脈で変わるべきだと?
0625デフォルトの名無しさん (ワッチョイ 33a6-SDEO)
垢版 |
2017/09/06(水) 09:44:12.68ID:f82uiC9X0
自民党の恐怖の言論弾圧が迫る! 

売国安倍は憲法改正で国民主権と基本的人権
を奪うつもりだ。 ← 民主主義の崩壊

http://www.data-max.co.jp/280113_ymh_02/

↑ マスコミは 9条しか報道しないが 自民案
の真の恐さは21条など言論の自由を奪うこと

自民案が通ると 政府批判しただけで逮捕されるぞ!

https://www.youtube.com/watch?v=h9x2n5CKhn8

上のビデオで 自民党は 日本人に基本的人権
は必要ないと 異常なことを平気で言う。

http://xn--nyqy26a13k.jp/archives/31687

↑ 都民ファーストも安倍と同じく 憲法改正で 人権
無視の大日本帝国憲法に戻すつもりだから
絶対に投票してはだめだ。 民主主義が崩壊する

http://blog.goo.ne.jp/ngc2497/e/8899f65988fe0f35496934dc972e2489

↑ ネトウヨ= 安倍サポーター工作員はネットで国民を騙す。

https://dot.asahi.com/aera/2016071100108.html?page=3
http://blog.goo.ne.jp/kimito39/e/c0dd73d58121b6446cf4165c96ebb674

↑ 安倍自民を操るカルト右翼「日本会議」は国民主権否定。
国民投票や選挙では自民党、維新、小池新党に絶対に入れるな。
0626デフォルトの名無しさん (ワッチョイ c397-Pjaj)
垢版 |
2017/09/06(水) 11:33:15.11ID:Mqa6x7N10
2003年8月の第1回から2007年3月の第6回までいずれも中国北京で計9次の会合が行なわれた
話し合いで解決しなかった
原爆、弾道ミサイルの開発にカネ、時間を与えてしまった
軍事力でつぶすしかないのに、まだこんなこといってる


         ,,-―--、
        |:::::::::::::;;;ノ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        |::::::::::( 」 < 対話で解決しよう
        ノノノ ヽ_l   \______________
       ,,-┴―┴- 、    ∩_
     /,|┌-[]─┐| \  (  ノ
      / ヽ| |  バ  | '、/\ / /
     / `./| |  カ  |  |\   /
     \ ヽ| lゝ    |  |  \__/
     \ |  ̄ ̄ ̄   |
      ⊂|______|
       |l_l i l_l |
       |   ┬   
0628デフォルトの名無しさん (スプッッ Sd1f-TajK)
垢版 |
2017/09/06(水) 12:36:56.86ID:/66SkMcqd
話が成り立たないアホばっかりだな
0629デフォルトの名無しさん (ワッチョイ 6f7b-DEiO)
垢版 |
2017/09/06(水) 15:29:10.13ID:fXx7GStM0
プログラミング勉強し始めた初心者ですが
手詰まりになったので質問させてください

ttp://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_3_C&lang=jp

この問題をやっていますが、以下のコードで「Time Limit Exceeded」となってしまいます
他の正解者のコード見てもやってることは同じな気がするのですが
なにがいけないのでしょうか?

C++14コード
ttp://codepad.org/2Yxb33Ab
0631629 (ワッチョイ 6f7b-DEiO)
垢版 |
2017/09/06(水) 15:40:37.11ID:fXx7GStM0
追記です

Case#8までは「Accepted」でOKなんですが
Case#9が「Time Limit Exceeded」でした

Case#9は入力が2000000行もあるっぽいです

でも他の人とやってること自体は同じなんだから
このコードでできるはずと思い込んでしまって
何が悪いのかさっぱり検討つきません。。。
0634デフォルトの名無しさん (ワッチョイ 6309-8f0a)
垢版 |
2017/09/06(水) 15:59:43.73ID:I6k6pGLy0
Listそのものがそんなに早くないとかかなぁ。
デリートはO(1)で終わるけど、ポインタの付け替えとかあるから、雑に遅いカモね。
最近のコンピュータだと配列の方が早かったりする。
0641デフォルトの名無しさん (ワッチョイ 6f7b-DEiO)
垢版 |
2017/09/06(水) 19:15:05.29ID:fXx7GStM0
>>630
>>632-639
ありがとうございます!

まさに>>635だったみたいです
1行ごとに入力を読み込みたいからsstream使ってたのですが
そのせいでwhileループで毎回sstreamとstringの変数を定義しているせいでした

cinとstringだけで入力を読み込むようにして
変数の定義をループの外にしたらようやく自分のコードで通りました

sstream使わなくてもstring変数の定義をループ内に書いたままにしてたら
ずっと通らなくてそれで何時間も四苦八苦してようやくすっきりしました

変数の定義って思いの外処理時間がかかるんだなあとしみじみ実感しました

わざわざコーディングまでしてくださってありがとうございました
0642デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/06(水) 21:33:01.28ID:6GspjXt70
> 変数の定義って思いの外処理時間がかかるんだなあとしみじみ実感しました

ものによる
テキトーこくな
0648デフォルトの名無しさん (ワッチョイ 9ac5-FXPZ)
垢版 |
2017/09/07(木) 06:02:40.83ID:sowmLjiv0
C++のstream関連は全て糞
operator<<()の多重定義で自作クラスのフォーマット文字列化(stringizing)ができる、というのがちょっと嬉しかったけど
しょせんコードの見かけだけの話やし、実行速度は速いし改造もしにくい、
(printf()ならvprintf()を使って関数1個書けば良いところをstd::streambufの派生クラスを作る羽目に、、
 行単位の排他とかの作り方を比べたらワカル

だいたい一般に1つのクラスに対して一般に
 (1) 人間が読むためのフォーマット文字列化
 (2) ストレージか何かへのシリアライズ
 (3) ストレージか何かからのデシリアライズ
の3つの要求が生じるのに対してoperator<<()とoperator>>()の多重定義の2個では数が足りない
だったら上記3メソッドのインターフェースを全部Cのstdioベースで実装して済ませるわ;

とにかくC++の中にあってstreamはパフォーマンスよりもコードの見かけに拘ってみました感が異端
0649デフォルトの名無しさん (ドコグロ MM92-Qch9)
垢版 |
2017/09/07(木) 06:46:38.33ID:9W4DbE9gM
>>644
> 変数の定義って処理なのか?
コンストラクタって知ってるか?

> stringが遅いのはどの言語でも同じ。ヒープに確保してるから。
そもそもstring型はすべての言語にないし文字列型と言う意味ならFORTRAN77のように固定領域にとる言語もある

>>645
モダンなバージョンなら普通にあるでしょ
Fortran ⇒ Allocate 文
Cobol もオブジェクト指向になってるぐらいだからあると思う
0652デフォルトの名無しさん (ワッチョイ 17e4-9lW3)
垢版 |
2017/09/07(木) 08:40:05.33ID:BwtgUJJf0
ライブラリなど不要
0654デフォルトの名無しさん (ブーイモ MMff-zX58)
垢版 |
2017/09/07(木) 12:51:16.16ID:m/W0Vwq0M
>>648
おちつけ。

> 実行速度は速いし改造もしにくい、

> だいたい一般に1つのクラスに対して一般に
0660デフォルトの名無しさん (ブーイモ MM26-7FiT)
垢版 |
2017/09/08(金) 21:05:50.39ID:VlEBq8a5M
>>648
モダンな言語の多くはprintfライクだし、javaも結局追加された。
printfライクのほうが効率的なことは経験的にわかってるのだからstreamにイマドキのformat関数を追加してくれればいいのに。
0669デフォルトの名無しさん (ワッチョイ 2309-g9be)
垢版 |
2017/09/09(土) 21:07:39.82ID:FtyOtgZ20
なんか、VCもGCCも半分くらいずつ間違えてる予感。
Setだけだとストレージがないからなんかバグの予感するし。
ストレージ持たせようとすると修飾が間違ってるって言われてる感じがする。
なんだこれ。
0674デフォルトの名無しさん (ワッチョイ 2309-g9be)
垢版 |
2017/09/10(日) 00:32:56.15ID:8Jhjgi9Q0
>>673
およ、折衷案できそうか?
自分はVC動けばいいんだけど、
コード公開するときに動かないと間抜けっぽいから良対応しようと一応やってる。
visualデバッガが便利すぎてVCやめるの大変。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況