トップページ⇒tech
1002コメント293KB

C++相談室 part126 [無断転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2016/08/13(土) 11:24:45.65ID:NPYsKJkE
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

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

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

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

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
0952デフォルトの名無しさん2016/09/21(水) 06:53:20.55ID:t4AsfpX5
>>948
サイズを動的に変えるとなるとメモリーアロケーションが必要になるからなぁ
上限を 32bit/64bit に制限する手もあるけど中途半端感が拭えないし...
そもそも普通にビット演算で事足りるし
0953デフォルトの名無しさん2016/09/21(水) 09:03:47.17ID:K2D2Rq8+
>>932 は例の人物の再来って感じだなぁ。
前スレッド終盤から、このスレッド序盤で活動した人の口調(文体)に似ている。

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


ちなみに >>932 の質問には答えられません。
0954デフォルトの名無しさん2016/09/21(水) 10:48:52.21ID:7D4j/v4w
シュトラウプ(うろ覚え)さんに直接メールすれば答えてくれそう。
そんな英語力は無いんだろうけど。
0955デフォルトの名無しさん2016/09/21(水) 14:04:05.66ID:6wq1WTZb
>>948 >>952
thx
なさそうってことはわかった
0956デフォルトの名無しさん2016/09/21(水) 20:33:55.57ID:mzpKxj3U
>>953
神経を逆撫でをしたレスには見えたが
回答者がアスペな回答をしたからだったと記憶しているが。
お前、その時の回答者か?
0957デフォルトの名無しさん2016/09/21(水) 20:59:57.83ID:6wq1WTZb
スルー検定中
0958デフォルトの名無しさん2016/09/21(水) 21:04:36.22ID:49I69gX0
ここもワッチョイ入れた方がいいと思うよ
C#の初心者スレとか酷かったのが大分良くなったし
0959デフォルトの名無しさん2016/09/21(水) 23:57:14.58ID:juClqO0A
>>951
メールしてみゆ
0960デフォルトの名無しさん2016/09/22(木) 00:08:42.02ID:G5ENlyOZ
諸事情と成り行きでコンストラクタがこんな風になったんだけど糞コードですか?
hoge(bool type) : base(type ? static_cast<base>(new a) : static_cast<base>(new b)){}
0961デフォルトの名無しさん2016/09/22(木) 00:19:01.74ID:RtaHiGLM
>>960
ポインタがstatic_cast<base>できるのか?
0962デフォルトの名無しさん2016/09/22(木) 00:21:49.80ID:G5ENlyOZ
>>961
ミス
正しくはstatic_cast<base*>
0963デフォルトの名無しさん2016/09/22(木) 00:46:02.45ID:Pt+3vwTk
実装はどうでもいいが
boolを取ってそれによってインスタンスの性質が(大きく?)変わるコンストラクタというのが
利用者視点からの一般論では糞っぽい設計だな
0964デフォルトの名無しさん2016/09/22(木) 00:54:34.74ID:6AgJgQbd
static_castしてる意味が解らん
0965デフォルトの名無しさん2016/09/22(木) 01:00:01.33ID:G5ENlyOZ
>>964
三項演算子だから型を合わせないといけない
0966デフォルトの名無しさん2016/09/22(木) 01:44:09.82ID:eab4XCGG
hogeにcreate_aとcreate_bみたいなstaticメソッド作って、ユーザーコード側で参考演算子書かせりゃいいのに
馬鹿すぎてそんなことも思いつかないなら、今すぐコプログラマーやめろ(´;ω;`)
0967デフォルトの名無しさん2016/09/22(木) 01:59:14.64ID:sh3eyHdy
きっと何かのテンプレートか何かに渡すとかで
コンストラクタがあの形じゃなきゃダメな制約が云々でしょ
0968デフォルトの名無しさん2016/09/22(木) 02:01:04.64ID:G5ENlyOZ
>>966
これが全く良くないのは分かってるがやりたくなさすぎる仕事だったから横着しすぎた感はある
0969デフォルトの名無しさん2016/09/22(木) 03:01:20.41ID:7BuONNwf
>>145
S只
ST只
STL只

貞子
0970デフォルトの名無しさん2016/09/22(木) 04:45:30.88ID:uum3cLOt
new bって初心者っぽい
0971デフォルトの名無しさん2016/09/22(木) 05:28:33.71ID:gyLxLatL
>>966
参考にします
0972デフォルトの名無しさん2016/09/22(木) 07:30:27.01ID:RG/iP2c6
ファクトリーメソッドが要るとみんなは気付いているが
政治的問題でなし崩しになっていると見た
0973デフォルトの名無しさん2016/09/22(木) 07:40:14.43ID:vdVnk2cw
ファクトリーメソッドでいい引数の渡し方ってある?っていうか引数の設計?
パラメータばっか増えてうまくまとめられない。
0974デフォルトの名無しさん2016/09/22(木) 14:13:51.56ID:7wkfE+LH
>>973
条件がわからんけどbuilderパターン使うとか
0975デフォルトの名無しさん2016/09/22(木) 14:39:48.97ID:sh3eyHdy
俺も条件がわからんが
テンプレートのパーフェクトフォワードが使えるかもしれないね
0976デフォルトの名無しさん2016/09/22(木) 23:49:28.05ID:vdVnk2cw
サンキュー。
0977デフォルトの名無しさん2016/09/23(金) 02:38:31.47ID:FrbFFvPo
初めから読んでみたんですが、
このスレ恐い人もいますね。
0978デフォルトの名無しさん2016/09/23(金) 13:12:24.83ID:z2QCychJ
おっかない人が鉞持って茂みに潜んでることもあるので覚悟して臨んで
0979デフォルトの名無しさん2016/09/23(金) 13:37:45.42ID:ircl/elV
C++やる人は怖いのですね
0980デフォルトの名無しさん2016/09/23(金) 15:04:30.06ID:z2QCychJ
C++をやったから怖くなったのか、それとも怖い人はC++に魅入られるのか、それともその両方なのか、それはまだ判りません
0981デフォルトの名無しさん2016/09/23(金) 16:12:15.84ID:1AYxo37g
std::array<int,3> ia = {1,2,3};
なんでいちいちサイズをしていなきゃいけないの?
コンパイラは右式からサイズを知れるはずだよね
0982デフォルトの名無しさん2016/09/23(金) 16:43:56.15ID:DI5cYQNa
arrayがクラステンプレートだからだよ
テンプレート実引数を推定できるのは関数テンプレートだけ
0983デフォルトの名無しさん2016/09/23(金) 16:50:29.51ID:Z6rdhOh4
もともと生配列なんて狭いスコープ内に閉じた使い方しかしてなかったし、あえてstd::array に変える気が起こらん。
0984デフォルトの名無しさん2016/09/23(金) 16:56:36.61ID:SmlWzTAW
arrayってoparator[]が境界チェック無いとか困る〜
0985デフォルトの名無しさん2016/09/23(金) 17:02:31.08ID:1AYxo37g
>>982
そう・・・・
使い物にならんな、標準なんかにするなよw
0986デフォルトの名無しさん2016/09/23(金) 17:04:21.59ID:k0FhbiHl
サイズとか取れて便利じゃん。俺ベクタしか使ってないけど。
0987デフォルトの名無しさん2016/09/23(金) 18:19:30.71ID:z2QCychJ
"std::array<int> ia = {1,2,3}" という文字列を読んで、括弧内の要素数を数えて
std::array<int,3> ia = {1,2,3}として書き換えてくれるテンプレートメタプログラミングすればいんじゃね?
0988デフォルトの名無しさん2016/09/23(金) 18:28:49.47ID:Z6rdhOh4
template<std::size_t N> の文脈の中でだったら不要だしな
0989デフォルトの名無しさん2016/09/23(金) 18:41:44.36ID:jjS354wW
配列をstd::arrayに置き換えなくてはならなくなった。
と被害妄想してグチを2chで垂れるのは間違いなく人生負け組
0990デフォルトの名無しさん2016/09/23(金) 19:45:39.19ID:k/GEXWfz
新しいコンパイラならstd::experimental::make_arrayが使えるんでねぇの?

http://en.cppreference.com/w/cpp/experimental/make_array
0991デフォルトの名無しさん2016/09/23(金) 20:07:45.67ID:1AYxo37g
ベタに配列でよくね?
0992デフォルトの名無しさん2016/09/23(金) 20:08:53.66ID:1AYxo37g
>>989
2ちゃんに居る時点で負けだろw
0993デフォルトの名無しさん2016/09/23(金) 20:23:26.18ID:Z6rdhOh4
algorithmにbeginとendを渡すときでも生配列でいいしな
0994デフォルトの名無しさん2016/09/23(金) 20:26:55.96ID:x7wdola9
シンタックスシュガー
0995デフォルトの名無しさん2016/09/23(金) 21:01:07.45ID:FB5yu9xq
サイズ欲しい時に変数用意したり、演算したりするのが面倒だし、余分な処理になるからじゃないの?
std::arrayはサイズ変数を保持していないし、演算もしていないし
at()使えば範囲チェックしてくれるし、生配列にも直接アクセスできるし
凄く便利だと思うけどな
0996デフォルトの名無しさん2016/09/23(金) 21:20:41.97ID:kJ5RCJcw
超薄型コンドームがでて、感覚上生挿入と変わらないことが統計学的に証明されていても、気持ちの問題だからと生を求める人がいる
0997デフォルトの名無しさん2016/09/23(金) 21:39:11.65ID:nEqelPbM
はい
0998デフォルトの名無しさん2016/09/23(金) 21:39:50.82ID:tPpdE/S0
難しいなぁ
0999デフォルトの名無しさん2016/09/23(金) 21:49:35.34ID:pyQwxOFM
arrayのメリット:コピーができる
1000デフォルトの名無しさん2016/09/23(金) 21:59:45.45ID:x7wdola9
std::copy
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 41日 10時間 35分 0秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。