[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/10 14:57 / Filesize : 234 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part126



1 名前:デフォルトの名無しさん mailto:sage [2016/08/13(土) 11:24:45.65 ID:NPYsKJkE.net]
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

前スレ
C++相談室 part125
echo.2ch.net/test/read.cgi/tech/1463761261/

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

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

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

883 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 08:48:34.25 ID:2blUzsBI.net]
c++ は最新仕様だけ覚えていればいいってもんではない。

884 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 09:21:00.65 ID:/1FlYzFJ.net]
>>868
make_uniqueはコンストラクター引数の補完が働かないので使いづらい

885 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 09:22:05.47 ID:6SQSBv8I.net]
仕様だけは詳しいが、実務は全くできない奴いるなw
正直最新の仕様なんかについてうんちく垂れるより、古い仕様でもきちんと動くほうがいい。

中には、よくわからずに使って、はまって納期遅れさせるバカもいるwwww

886 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 09:33:08.57 ID:1yHXSEjx.net]
日本語が理解できずに話をすり替えてしまう>>871みたいな低能や
例外処理の基本も理解できていない>>865みたいな低能が
その品質チームとやらにいるんだろう

887 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 10:19:05.24 ID:EIh/dcA1.net]
new にも、NULLを返すバージョンと、例外にするバージョンなど、色々あるんじゃね?

888 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 11:18:56.17 ID:WPlu++Kc.net]
例外処理って目的によって異なる
素直にシステムがエラー吐いて終了で問題ない場合
特定のエラーを検出して改善の為のログを残したい場合
止まると困るシステムの場合十分なリカバリー手段を用意して例外検出と復旧処理を行う

通常のアプリケーションにnew なんて使わないって書いてあったけど
プログラムの目的とエラーに対する必要な強度を仕分けして
全体としてどの様に例外処理を組み込むかって事だよね

889 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:08:31.95 ID:5e40+2Z7.net]
やっぱりC++って集団で使うのには向いてないんだよね
どのC++の話してるか分からないか

890 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:09:15.23 ID:EIh/dcA1.net]
ゲームエンジンの本には、自分でメモリプールを作っている例が、よく載っている

newをその都度呼ぶと遅いから、まとめて何十個分のメモリを確保する。
そしてその中から、今使う分だけを使う

でも、それぐらいの機能、既に誰かが、ライブラリを作っていそうなもんだが

891 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:14:46.13 ID:/A9gXhFE.net]
boost.pool



892 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:42:48.66 ID:5e40+2Z7.net]
もちろんメモリプールなんてたくさん出回ってるし今度標準にも入る
でもそれらの性能が十分とは限らない

893 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:43:41.47 ID:Qq7O8IvU.net]
昔、lokiとかあったやん?
使ったこと無いからしらんけど
あれにもメモリプールなかったっけ

894 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 15:03:20.15 ID:vvzKkhQt.net]
>>869
えええええええ

いつからそんなクソ仕様になったん…
例外じゃないのか

895 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 15:26:11.91 ID:vvzKkhQt.net]
と思ったけどC++て全部チェック例外だっけ
newのたびにtryさせられるよりsegmentation faultのほうがマシだな

896 名前:868 mailto:sage [2016/09/18(日) 16:16:16.34 ID:xYSNtktv.net]
>>882
勘違いさせたならすまん。>>869 で書いた
「newが失敗した場合はNULLが返る、だからnewの後は常にNULL(ポ)を確認せよ」
っていう方が古いC++でのnewの動作ね。
古いチェックツールがそんなエラーを返してるんじゃないの? という意図。

現在はnewの失敗は例外が返るのがデフォルト動作だよな。
nothrowで例外を出さないように指示したら今でもnullptrが返るけど。

897 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 16:24:41.60 ID:ygUqx6Ix.net]
>>883
C++は全てjavaでいう非チェック例外じゃないの?

898 名前:デフォルトの名無しさん [2016/09/18(日) 16:45:14.01 ID:/VzCUPpk.net]
お前らの例外話は何故いつもnewなのか

899 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 17:36:57.68 ID:5e40+2Z7.net]
newにおける例外の扱いのベストプラクティスが示されていないから

900 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 17:37:48.57 ID:+iC0HZAY.net]
ないものは自分で見つけんだよ

901 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 18:15:15.56 ID:sUrpOA8l.net]
ひょえー



902 名前:デフォルトの名無しさん [2016/09/18(日) 18:28:35.89 ID:L03d0R0a.net]
うはー

903 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 19:43:10.68 ID:1yHXSEjx.net]
>>886
newを見るとすぐtry catchで囲わないといけないと妄想してる882みたいな低能が多いからでは?
catchを見ると「近くにnewが有るはず」と脊髄反射したに相違ない

904 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 19:45:44.60 ID:XW30Cfu8.net]
それよりもnullチェックってどうやるのがスマートなんだ?
使ってるvector全部をif文にぶち込んでるコード見かけて驚愕したんだが

905 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 20:00:16.67 ID:aEHfUxVO.net]
vectorに挿入する前にチェックすればいい

906 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 20:06:12.23 ID:5e40+2Z7.net]
一部の用途を除いてnewが失敗する可能性は考えなくていい

907 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 21:15:21.06 ID:sUrpOA8l.net]
説明願います

908 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 21:23:31.21 ID:ORSLx8xU.net]
VBのCSV出力が遅いんだけど
Cで書いたら速くなんの?

909 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 01:02:18.86 ID:aveOgqLD.net]
むしろその手の処理はVBの方が速い

910 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 01:04:42.68 ID:aveOgqLD.net]
>>885
んなこたーない []
[ここ壊れてます]



912 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 12:39:37.38 ID:d/dsjAXw.net]
>>896
文字列連結を馬鹿みたいに繰り返して遅くなってるんじゃないの

913 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 12:39:37.43 ID:d/dsjAXw.net]
>>896
文字列連結を馬鹿みたいに繰り返して遅くなってるんじゃないの

914 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 12:51:32.58 ID:0BKQBe6K.net]
かなり大事な事ですねw
VBとかC#で遅いからといってCやC++にしたところで劇的に速くなる保証なんかないのにな
何の言語にしようがどうしようもないか自分の組み方がおかしいかどちらか

915 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 13:10:11.98 ID:fA1B/38Y.net]
>>896
ファイル出力が遅いのかテキストの組み立てが遅いのか

916 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 13:15:05.33 ID:3VQNeREi.net]
VBのCSVライブラリ使ってるなら、
規格(?)に準拠するようにいろんな処理してるから
かなり遅いっぽいぞ

エスケープが要らないとかダブルクォーテーションが要らないとか
条件を限定できるなら高速化の余地もあるんでないかい

917 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 13:17:08.06 ID:MZBT2IFS.net]
>>899>>902>>903
おまえらこのスレで面倒見るつもりなのw?

918 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 19:50:10.96 ID:urF+pqo3.net]
むしろ同じロジックでコードを書いて比較してほしい。

919 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 19:55:07.34 ID:80/BHnqI.net]
アルゴリズムの選択を誤ればJavaにすら負ける
大事なのはアルゴリズム

920 名前:デフォルトの名無しさん [2016/09/19(月) 20:12:40.99 ID:sZXP+7ot.net]
Javaで適切なアルゴリズムを使うPGと同一人物が
C++で不適切なアルゴリズムをわざわざやるかよ
同一人物が使ってどっちが優れた結果を出せるかだろ

921 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 21:10:21.81 ID:urF+pqo3.net]
ここではアルゴリズムってよりライブラリ依存だな。
CSVのパースは真面目にROC準拠でやろうとすると頭が禿げるぐらい面倒くさい。
現実に扱うCSVはもっと前提条件を少なくできるだろうから、
自分で簡易版のパーサーを実装した方がいいかも。



922 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 22:22:17.19 ID:aveOgqLD.net]
ROCってのが何なのかわからんが
RFC 4180なら所詮ワンパスなのでそんなに難しくない。
C#で自作したものをブビライブラリと比較したら10倍程度の速さだった。
どうせTextFieldParser使ったんだろ

923 名前:デフォルトの名無しさん [2016/09/19(月) 22:40:37.56 ID:Kz778z8P.net]
CSVなんかただの記号区切りのテキストファイルだろ。
区切ってテキスト出力すりゃええだけじゃろ

924 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 22:50:33.73 ID:w3ljrVli.net]
質問者は出力について悩んでいる人に
パーサーの自作をすすめる
これがクソスレのクオリティ

925 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 23:03:23.99 ID:eTcqfU0K.net]
パーサー次第で出力に差が出るだろう、そんなことも分からんのか???

926 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 23:41:33.03 ID:byZSyyWN.net]
テキトーな仕様のオレオレCSVの自作を勧める奴がいまだに存在するとは。

927 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 23:45:11.41 ID:r/G6SK9c.net]
1行ずつ読んでいくんじゃないのか

928 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 23:47:22.25 ID:pyTHmoe6.net]
オレオレ仕様のcsvが氾濫してるから今更どうしようもない
それが問題になるようなら保存形式にcsvを用いる事自体が間違い

929 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 23:49:18.87 ID:r/G6SK9c.net]
csvってカンマ区切りということ以外の仕様ってあるのか?

930 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 00:09:05.24 ID:Em9B638f.net]
無い
オレオレの中でもメジャーなのに後付けでRFCが出来ただけ

931 名前:デフォルトの名無しさん [2016/09/20(火) 00:30:40.31 ID:o1tJ3Pdk.net]
>>907
普通に見たことあるけど
vectorじゃなくlist使って遅いとか
>>911
質問読めてない糞民が何言ってんだか



932 名前:デフォルトの名無しさん [2016/09/20(火) 02:23:46.55 ID:E+J9y3sP.net]
ポインタの無いC++を誰か作ってくれないかな…。

933 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 03:38:57.96 ID:MJf3DPDB.net]
>>919
C++なら、あんまりポインタ意識しなくてもできるでしょ。
ライブラリが吸収してくれるんだし。

934 名前:デフォルトの名無しさん [2016/09/20(火) 06:57:10.89 ID:83nQEiQC.net]
> vectorじゃなくlist使って遅いとか

Javaしか使えないやつの付け焼き刃か

935 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 07:29:03.31 ID:l/rjpK7G.net]
>>916
区切り文字(カンマと改行)をデータとして含む場合にどうするかについての仕様がある。
それが面倒くさいなら最初からタブ区切りテキストにしておけと思うが。

936 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 07:41:11.11 ID:h/QlA5En.net]
ここで休んでいくか
o.8ch.net/fg0j.png

937 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 08:17:39.33 ID:yT+pR0RD.net]
CSVは汎用性とか規格準拠とか考え始めると面倒らしいね。
カーニハンとパイクの有名な『プログラミング作法』第4章でも
素朴なプロトタイプから汎用ライブラリに磨き上げていくネタに使われてる。

引用符でくくられた文字列フィールドに含まれるカンマを読み飛ばすとか、
文字列に引用符文字を含ませる場合のエスケープ処理、
フィールド先頭以外にいきなり出てきた引用符文字はどう扱うべきか、
そういった問題。

結局、仕様のあいまいな部分は、データをExcelに処理させて
どう解釈するかを観察し、それに動作を合わせるという妥協策とか。
面白いけど奥深い(面倒くさい)話が載ってる。

938 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 08:23:33.04 ID:pi/Zyw6M.net]
面倒くさがりの俺はカンマのあとのスペースの扱いをどうするか考えるのをやめた

939 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 08:30:50.00 ID:nnGYYj6O.net]
実際問題、業務で扱うCSVがRFCにそってた試しがない
データ中に,とダブルクォーテーションがないこと前提で全フィールド囲みなしとか
データの改行かどうかはフィールド数から判断しろとか

940 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 08:34:47.14 ID:9l0NUqqb.net]
空白は有効な値として取り込みマズければ前処理でなんとかしてくれというのがかんたん

941 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 08:49:26.68 ID:pi/Zyw6M.net]
>>927
空白のあとの引用符出現とか考えると面倒



942 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 15:15:36.96 ID:sn1HJBVo.net]
裏でExcel立ち上げてそいつにCSV読み込ませる
ってのがスマートなやり方かもしれん。

943 名前:デフォルトの名無しさん [2016/09/20(火) 16:11:59.45 ID:83nQEiQC.net]
手作業でか? COM使えよ

944 名前:デフォルトの名無しさん [2016/09/20(火) 16:34:35.12 ID:83nQEiQC.net]
ところでさ
bitsetって複数ビットへのアクセスってできたっけか?
00001111 から
0001 のprvalueを得たり、
00000000 を
00011100 にするのに
bs(4,2) = 0b111; みたいなこと

945 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 18:42:56.25 ID:yRlSWmtK.net]
今すぐN4606をダウンロードして20.9を読め

946 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 19:03:07.64 ID:ChLW8Xs7.net]
C++標準についてですが
よく言われる「ゼロオーバーヘッド原則」はどのように守られているのでしょうか?
たとえば委員会はこの原則を明文化して守っていますか?
または原則が委員の思想や感情だけによって守られていますか?
今後のアップデートにより破られることはありますか?
D&Eには「思想も進化する」というような文が見られますが設計思想の変更プロセスはマニュアル化されているのでしょうか?

947 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 20:52:23.19 ID:DFwXwRkO.net]
ゼロオーバーヘッドの意味するところはなんなのか知らんが、
仮想関数使った時点で間接参照になって現代のキャッシュマシンには厳しいオーバーヘッドになっていると思いますけどね。

948 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 20:54:50.75 ID:ChLW8Xs7.net]
たぶんあなたは「ゼロオーバーヘッド原則」を何かわかっていないですね。
とにかく標準規格の委員会の設計方針のルールをしりたいのです

949 名前:デフォルトの名無しさん [2016/09/20(火) 20:58:56.89 ID:k+TyjvZt.net]
キタ━━━━(゚∀゚)━━━━!!

950 名前:デフォルトの名無しさん [2016/09/20(火) 21:04:19.73 ID:obZzfy4A.net]
そりゃ原則なんだから、原則守られるだろう。
原則Goto文が使われる事は絶対無いのと同じだ。

951 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:10:11.42 ID:3ENBAG3F.net]
てかここで聞く質問じゃないだろ。直接委員会にメール送れよ。



952 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:12:30.36 ID:DFwXwRkO.net]
>>938
知らないなら答えないでください
とかいいだすぞwwwwwww

953 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:16:42.79 ID:tBN6CcRw.net]
よし教えてやろう
その言語機能を使わない人にとって(マシン語レベルで)余分な命令が生成されないこと
ただしそれは書いたコードに対する局所的なもので
スタートアップ時の処理のオーバーヘッドやワーキングセットの肥大化によるキャッシュヒット率低下ついては触れないのが常

954 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:17:17.91 ID:5hgqMPTY.net]
あかんやつか

955 名前:デフォルトの名無しさん [2016/09/20(火) 21:57:22.02 ID:83nQEiQC.net]
>>932
それはともかく、おまえは氏ね

956 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:59:44.26 ID:26fGody7.net]
>>933
明文化されたルールはないんじゃない?ルールにするメリットないからやらないだろうし。

957 名前:デフォルトの名無しさん [2016/09/20(火) 22:01:25.46 ID:83nQEiQC.net]
ヘリコプターがシアトル付近を飛行中に、ナビゲーション・システムと通信系が故障してしまい、現在位置を把握することができなくなってしまった。
機長は、近くに見えた高いビルにヘリコプターを寄せ、周りを旋回しながら、副操縦士に「私は今どこにいますか?」と大きな紙に書かせ、それをビルの中の人間に見せるように命じた。
ビルの中の人間は、大きな紙に「あなたは今、ヘリコプターの中です」と書いて答えてきた。

958 名前:機長はにっこりと笑って手を振り、副操縦士に言った。
「あれはマイクロソフトの本社ビルだ。ここから東へ向かえば空港があるはずだ」
「どうしてマイクロソフトの本社ビルだと分かったんです?」
「奴らはいつも、技術的には完璧だが、まったく役に立たない答えしか寄こさないからさ」
[]
[ここ壊れてます]

959 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:15:01.88 ID:ChLW8Xs7.net]
>>943
そうですか。ありがとうございます。

960 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:16:07.34 ID:Em9B638f.net]
>>933
そんな自縄自縛ルールを明示したらjavaみたいになってしまうだろ。

961 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:26:54.29 ID:A2psZARz.net]
>>912
えっ



962 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:51:13.68 ID:9l0NUqqb.net]
>>940
そんな機種依存の最適化を気にするのも広い意味でオーバーヘッドや

963 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:54:34.83 ID:wtHZC2ze.net]
>>931
bitsetは改良したらもっと使われると思うんだけどなあ
boostみたいにサイズを動的に変えられるようにするのとバイト列として取り出せるようにして欲しい

964 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 23:04:57.83 ID:2u6BtGm8.net]
>>947
バカにふれるな

965 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 23:45:29.10 ID:g6KAU3qV.net]
ゼロヘア・アラウンド・オーバーヘッドの略

966 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 01:01:45.84 ID:vGo10QGu.net]
>>933
江添に訊け

967 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 06:53:20.55 ID:t4AsfpX5.net]
>>949
サイズを動的に変えるとなるとメモリーアロケーションが必要になるからなぁ
上限を 32bit/64bit に制限する手もあるけど中途半端感が拭えないし...
そもそも普通にビット演算で事足りるし

968 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 09:03:47.17 ID:K2D2Rq8+.net]
>>933 は例の人物の再来って感じだなぁ。
前スレッド終盤から、このスレッド序盤で活動した人の口調(文体)に似ている。

自分が理解しているレベルにぴったり適合し、自分が理解できる説明をされないと
「そんなことは聞いていません」「もっと実のある回答をお願いします」などと
慇懃無礼な態度で読み手の神経を逆撫でする質問者がいたんだよ。


ちなみに >>933 の質問には答えられません。

969 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 10:48:52.21 ID:7D4j/v4w.net]
シュトラウプ(うろ覚え)さんに直接メールすれば答えてくれそう。
そんな英語力は無いんだろうけど。

970 名前:デフォルトの名無しさん [2016/09/21(水) 14:04:05.66 ID:6wq1WTZb.net]
>>949 >>953
thx
なさそうってことはわかった

971 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 20:33:55.57 ID:mzpKxj3U.net]
>>954
神経を逆撫でをしたレスには見えたが
回答者がアスペな回答をしたからだったと記憶しているが。
お前、その時の回答者か?



972 名前:デフォルトの名無しさん [2016/09/21(水) 20:59:57.83 ID:6wq1WTZb.net]
スルー検定中

973 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 21:04:36.22 ID:49I69gX0.net]
ここもワッチョイ入れた方がいいと思うよ
C#の初心者スレとか酷かったのが大分良くなったし

974 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 23:57:14.58 ID:juClqO0A.net]
>>952
メールしてみゆ

975 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 00:08:42.02 ID:G5ENlyOZ.net]
諸事情と成り行きでコンストラクタがこんな風になったんだけど糞コードですか?
hoge(bool type) : base(type ? static_cast<base>(new a) : static_cast<base>(new b)){}

976 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 00:19:01.74 ID:RtaHiGLM.net]
>>961
ポインタがstatic_cast<base>できるのか?

977 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 00:21:49.80 ID:G5ENlyOZ.net]
>>962
ミス
正しくはstatic_cast<base*>

978 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 00:46:02.45 ID:Pt+3vwTk.net]
実装はどうでもいいが
boolを取ってそれによってインスタンスの性質が(大きく?)変わるコンストラクタというのが


979 名前:用者視点からの一般論では糞っぽい設計だな []
[ここ壊れてます]

980 名前:デフォルトの名無しさん [2016/09/22(木) 00:54:34.74 ID:6AgJgQbd.net]
static_castしてる意味が解らん

981 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 01:00:01.33 ID:G5ENlyOZ.net]
>>965
三項演算子だから型を合わせないといけない



982 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 01:44:09.82 ID:eab4XCGG.net]
hogeにcreate_aとcreate_bみたいなstaticメソッド作って、ユーザーコード側で参考演算子書かせりゃいいのに
馬鹿すぎてそんなことも思いつかないなら、今すぐコプログラマーやめろ(´;ω;`)

983 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 01:59:14.64 ID:sh3eyHdy.net]
きっと何かのテンプレートか何かに渡すとかで
コンストラクタがあの形じゃなきゃダメな制約が云々でしょ

984 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 02:01:04.64 ID:G5ENlyOZ.net]
>>967
これが全く良くないのは分かってるがやりたくなさすぎる仕事だったから横着しすぎた感はある

985 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 03:01:20.41 ID:7BuONNwf.net]
>>145
S只
ST只
STL只

貞子

986 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 04:45:30.88 ID:uum3cLOt.net]
new bって初心者っぽい

987 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 05:28:33.71 ID:gyLxLatL.net]
>>967
参考にします

988 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 07:30:27.01 ID:RG/iP2c6.net]
ファクトリーメソッドが要るとみんなは気付いているが
政治的問題でなし崩しになっていると見た

989 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 07:40:14.43 ID:vdVnk2cw.net]
ファクトリーメソッドでいい引数の渡し方ってある?っていうか引数の設計?
パラメータばっか増えてうまくまとめられない。

990 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 14:13:51.56 ID:7wkfE+LH.net]
>>974
条件がわからんけどbuilderパターン使うとか

991 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 14:39:48.97 ID:sh3eyHdy.net]
俺も条件がわからんが
テンプレートのパーフェクトフォワードが使えるかもしれないね



992 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 23:49:28.05 ID:vdVnk2cw.net]
サンキュー。

993 名前:デフォルトの名無しさん [2016/09/23(金) 02:38:31.47 ID:FrbFFvPo.net]
初めから読んでみたんですが、
このスレ恐い人もいますね。

994 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 13:12:24.83 ID:z2QCychJ.net]
おっかない人が鉞持って茂みに潜んでることもあるので覚悟して臨んで

995 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 13:37:45.42 ID:ircl/elV.net]
C++やる人は怖いのですね

996 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 15:04:30.06 ID:z2QCychJ.net]
C++をやったから怖くなったのか、それとも怖い人はC++に魅入られるのか、それともその両方なのか、それはまだ判りません

997 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 16:12:15.84 ID:1AYxo37g.net]
std::array<int,3> ia = {1,2,3};
なんでいちいちサイズをしていなきゃいけないの?
コンパイラは右式からサイズを知れるはずだよね

998 名前:デフォルトの名無しさん [2016/09/23(金) 16:43:56.15 ID:DI5cYQNa.net]
arrayがクラステンプレートだからだよ
テンプレート実引数を推定できるのは関数テンプレートだけ

999 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 16:50:29.51 ID:Z6rdhOh4.net]
もともと生配列なんて狭いスコープ内に閉じた使い方しかしてなかったし、あえてstd::array に変える気が起こらん。

1000 名前:デフォルトの名無しさん [2016/09/23(金) 16:56:36.61 ID:SmlWzTAW.net]
arrayってoparator[]が境界チェック無いとか困る〜

1001 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 17:02:31.08 ID:1AYxo37g.net]
>>983
そう・・・・
使い物にならんな、標準なんかにするなよw



1002 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 17:04:21.59 ID:k0FhbiHl.net]
サイズとか取れて便利じゃん。俺ベクタしか使ってないけど。

1003 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 18:19:30.71 ID:z2QCychJ.net]
"std::array<int> ia = {1,2,3}" という文字列を読んで、括弧内の要素数を数えて
std::array<int,3> ia = {1,2,3}として書き換えてくれるテンプレートメタプログラミングすればいんじゃね?

1004 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 18:28:49.47 ID:Z6rdhOh4.net]
template<std::size_t N> の文脈の中でだったら不要だしな

1005 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 18:41:44.36 ID:jjS354wW.net]
配列をstd::arrayに置き換えなくてはならなくなった。
と被害妄想してグチを2chで垂れるのは間違いなく人生負け組

1006 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 19:45:39.19 ID:k/GEXWfz.net]
新しいコンパイラならstd::experimental::make_arrayが使えるんでねぇの?

en.cppreference.com/w/cpp/experimental/make_array

1007 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 20:07:45.67 ID:1AYxo37g.net]
ベタに配列でよくね?

1008 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 20:08:53.66 ID:1AYxo37g.net]
>>990
2ちゃんに居る時点で負けだろw

1009 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 20:23:26.18 ID:Z6rdhOh4.net]
algorithmにbeginとendを渡すときでも生配列でいいしな

1010 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 20:26:55.96 ID:x7wdola9.net]
シンタックスシュガー

1011 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:01:07.45 ID:FB5yu9xq.net]
サイズ欲しい時に変数用意したり、演算したりするのが面倒だし、余分な処理になるからじゃないの?
std::arrayはサイズ変数を保持していないし、演算もしていないし
at()使えば範囲チェックしてくれるし、生配列にも直接アクセスできるし
凄く便利だと思うけどな



1012 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:20:41.97 ID:kJ5RCJcw.net]
超薄型コンドームがでて、感覚上生挿入と変わらないことが統計学的に証明されていても、気持ちの問題だからと生を求める人がいる

1013 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:39:11.65 ID:nEqelPbM.net]
はい

1014 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:39:50.82 ID:tPpdE/S0.net]
難しいなぁ

1015 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:49:35.34 ID:pyQwxOFM.net]
arrayのメリット:コピーができる

1016 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:59:45.45 ID:x7wdola9.net]
std::copy

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<234KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef