次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part131
http://mevius.2ch.net/test/read.cgi/tech/1501295308/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1500329247/
■長いソースを貼るときはここへ。■
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
探検
C++相談室 part132
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ (ワッチョイ faeb-wbjw)
2017/10/10(火) 00:11:34.01ID:nc/5PI4P0549デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/11(土) 09:27:27.12ID:VdKe4lXM0550デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/11(土) 09:29:57.09ID:VdKe4lXM0 c++には例外もアルヨ。
551デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/11(土) 09:40:15.26ID:VdKe4lXM0 化石か!
552デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/11(土) 09:42:44.46ID:FtIHrpnF0553デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/11(土) 09:44:02.22ID:FtIHrpnF0554デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/11(土) 09:46:24.25ID:VdKe4lXM0555デフォルトの名無しさん (ワッチョイ 5f7f-zl2n)
2017/11/11(土) 09:47:59.39ID:atpFEB620 スタックに充分な領域を確保したから大丈夫って頭おかしい設計だわ
556デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/11(土) 09:49:50.67ID:FtIHrpnF0557デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/11(土) 09:54:01.12ID:VdKe4lXM0 はいはい。もういいわ。
エラー処理真面目にやるんだったら、そういう方向で考えるけど。
ここではそんなに求められてない。一般感覚が無いとそれ何回もやるのか?
不適当で有名な5chでなにを演説してるのやら。
エラー処理真面目にやるんだったら、そういう方向で考えるけど。
ここではそんなに求められてない。一般感覚が無いとそれ何回もやるのか?
不適当で有名な5chでなにを演説してるのやら。
558デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/11(土) 09:58:28.19ID:FtIHrpnF0 >>555
やみくもにスタック消費量最小を目指すのは、
自分の関数がどれぐらいスタック使うのかおよびスタック領域にどれぐらい余裕があるのか
見積もる手間を惜しんで手抜きしているだけな可能性が微レ存、
ていうか「スタックに充分な領域を確保した」というのが真なら(机上検証、レビュー、テストで担保できたなら
「大丈夫」という結論で何の問題も無いんじゃ…
やみくもにスタック消費量最小を目指すのは、
自分の関数がどれぐらいスタック使うのかおよびスタック領域にどれぐらい余裕があるのか
見積もる手間を惜しんで手抜きしているだけな可能性が微レ存、
ていうか「スタックに充分な領域を確保した」というのが真なら(机上検証、レビュー、テストで担保できたなら
「大丈夫」という結論で何の問題も無いんじゃ…
559デフォルトの名無しさん (ワッチョイ ffa5-ySnM)
2017/11/11(土) 10:07:34.21ID:WEOLmGSE0560デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/11(土) 10:17:10.01ID:FtIHrpnF0 >>559
スタック領域を使い切るのが美徳とは言っていないわけでありまして、
なおかつページングの発生頻度は、メモリ消費箇所がスタックかヒープかの違いよりは
領域へのアクセス頻度の問題ではなかろうかと、
スタック領域を使い切るのが美徳とは言っていないわけでありまして、
なおかつページングの発生頻度は、メモリ消費箇所がスタックかヒープかの違いよりは
領域へのアクセス頻度の問題ではなかろうかと、
561デフォルトの名無しさん (ワッチョイ ffa5-ySnM)
2017/11/11(土) 10:35:02.95ID:WEOLmGSE0 パフォーマンスの話じゃなくて、これが一般には正しくないって言ってるの。
>スレッド生成時にそのスレッドが使えるスタックは一般に割り当てが完了するから、
>割り当てられた領域をオーバーしなければどう使っても良い
>もちろんフルに使ってもヒープの圧迫にはならない
>スレッド生成時にそのスレッドが使えるスタックは一般に割り当てが完了するから、
>割り当てられた領域をオーバーしなければどう使っても良い
>もちろんフルに使ってもヒープの圧迫にはならない
562デフォルトの名無しさん (ワッチョイ 5f78-XysI)
2017/11/11(土) 10:53:30.83ID:opm7+oFX0 んでchar commad[256000];をどうやってリターンするんだ?
563デフォルトの名無しさん (ワンミングク MMdf-ZLBY)
2017/11/11(土) 11:07:32.64ID:WYLE0xS1M 普通ならstd::string使う
char使いたい人は使えばいい
おしまい
char使いたい人は使えばいい
おしまい
564デフォルトの名無しさん (ワッチョイ 5feb-ySnM)
2017/11/11(土) 11:11:42.29ID:d7ebwqzc0 256000という数字にセンスを感じるなあ
565デフォルトの名無しさん (ワッチョイ 7f8a-mtQO)
2017/11/11(土) 11:50:48.17ID:yWjpohs20 > char commad[256000];
しかも0が非ascii
しかも0が非ascii
566デフォルトの名無しさん (ワッチョイ 5f9f-zl2n)
2017/11/11(土) 13:26:05.59ID:cTWJmMx00 >>529
いや、commandを何バイト確保しておこうが snprintf() の方を使った方が良い。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/sprintf.3.html
gcc で asprintf() 使ってもいいなら command は char * でも行ける(その代わり後でfree())。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/asprintf.3.html
いや、commandを何バイト確保しておこうが snprintf() の方を使った方が良い。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/sprintf.3.html
gcc で asprintf() 使ってもいいなら command は char * でも行ける(その代わり後でfree())。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/asprintf.3.html
567デフォルトの名無しさん (ワッチョイ ff7f-wlOk)
2017/11/11(土) 14:07:40.16ID:x64hpPPQ0 scanf("%s"にツッコミなし!
568デフォルトの名無しさん (ワッチョイ 5f9f-zl2n)
2017/11/11(土) 14:52:43.33ID:cTWJmMx00 >>567
あまりに低レベルで目に入らんかったw
あまりに低レベルで目に入らんかったw
569デフォルトの名無しさん (ワッチョイ 7f9d-vLjR)
2017/11/11(土) 17:48:20.77ID:PUzdOh0e0 >んでchar commad[256000];をどうやってリターンするんだ?
だからそれはstringでも同じだな。stringを使えばいいという発想では駄目ということだ。
メモリを確保する必要がある。
しかも、サブルーチンを抜けた後で、何処かでそれを解放する機構が必要だ。サブルーチンを抜けた
後だと自動で解放しない限りは解放する方法はない。つまり肝心なのは自動でメモリ解放機能が
ついていることだ。それがついてないstringクラスなんてこの場合は全く使い道がないってことだ。
だからstringって馬鹿の一つ覚えを言うやつは間違いってことだね。
だからそれはstringでも同じだな。stringを使えばいいという発想では駄目ということだ。
メモリを確保する必要がある。
しかも、サブルーチンを抜けた後で、何処かでそれを解放する機構が必要だ。サブルーチンを抜けた
後だと自動で解放しない限りは解放する方法はない。つまり肝心なのは自動でメモリ解放機能が
ついていることだ。それがついてないstringクラスなんてこの場合は全く使い道がないってことだ。
だからstringって馬鹿の一つ覚えを言うやつは間違いってことだね。
570デフォルトの名無しさん (ワッチョイ df8a-i75N)
2017/11/11(土) 18:01:59.33ID:qx0Cuc+s0 頭おかしい
571デフォルトの名無しさん (ワッチョイ 7fe7-TPjW)
2017/11/11(土) 18:12:16.05ID:NuT5AKLg0 なんかおかしな雰囲気を出してるね
572デフォルトの名無しさん (ワッチョイ 7f33-cd7v)
2017/11/11(土) 18:18:07.19ID:ybMjRTfR0 >>569 std::string はデストラクタで自動でメモリ解放するよ。
573デフォルトの名無しさん (オッペケ Sr33-aNqo)
2017/11/11(土) 18:20:22.00ID:tT1WP+x8r auto f() {
struct { char a[256]; } r{};
return r;
}
int main (){ auto[array] = f(); }
ちょっとスタックが厳しそうだ
struct { char a[256]; } r{};
return r;
}
int main (){ auto[array] = f(); }
ちょっとスタックが厳しそうだ
574デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/11(土) 18:43:22.06ID:35XI65Ti0 >>569
本当のバカはその一つすらまともに知りませんでした
本当のバカはその一つすらまともに知りませんでした
575デフォルトの名無しさん (ワッチョイ 5fb3-kEiX)
2017/11/11(土) 19:32:54.25ID:a9mrqTdG0 今どきstd::stringを批判してcharの配列の優位性を説くとか
576デフォルトの名無しさん (ワッチョイ dfcc-TYjb)
2017/11/11(土) 19:56:58.42ID:Hv/PaJUT0 string_viewとか持ち出して言うならともかく
577デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/11(土) 20:40:48.77ID:35XI65Ti0578デフォルトの名無しさん (ブーイモ MM83-/Rkm)
2017/11/11(土) 21:23:35.64ID:u9h6IsulM テンプレートって基本ヘッダファイルに書くと思うけど、コンパイル単位ごとに全部コードのコピーが作成されるの?
579デフォルトの名無しさん (ワッチョイ dfcc-TYjb)
2017/11/11(土) 21:25:00.09ID:Hv/PaJUT0 >>577
string_viewって何か知らないのか?
string_viewって何か知らないのか?
580デフォルトの名無しさん (ワッチョイ 5fb3-ouqv)
2017/11/11(土) 21:41:30.08ID:4HyMUlDc0 そこでmoveですよ。
581デフォルトの名無しさん (ワッチョイ 7f33-cd7v)
2017/11/11(土) 21:45:04.19ID:ybMjRTfR0582デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/11(土) 22:32:22.44ID:35XI65Ti0 >>579
今回の件にstring_view使ってみなよ
今回の件にstring_view使ってみなよ
583デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/11(土) 22:37:09.49ID:35XI65Ti0 もしかして
string_viewとか(無理やり)持ち出して(バッファーを解放しないと)言うならともかく
という意味か?
そうだったらそこまでエスパーにはなれんかったわ
string_viewとか(無理やり)持ち出して(バッファーを解放しないと)言うならともかく
という意味か?
そうだったらそこまでエスパーにはなれんかったわ
584デフォルトの名無しさん (ワッチョイ ffb3-TPjW)
2017/11/11(土) 22:42:02.84ID:aJZfBE3c0 みじゅくもの
585デフォルトの名無しさん (ワッチョイ dfcc-TYjb)
2017/11/12(日) 05:09:14.57ID:yBBP+7vl0 >>583
何か勘違いしているか?
俺は生配列を使いたがるガイキチたちを擁護したいわけじゃないし
もちろん意見が一致していない
C++スレなのにC++のライブラリを食わず嫌いしてるフシのあるやつに
ちょっと話題を振ってみただけだ
何か勘違いしているか?
俺は生配列を使いたがるガイキチたちを擁護したいわけじゃないし
もちろん意見が一致していない
C++スレなのにC++のライブラリを食わず嫌いしてるフシのあるやつに
ちょっと話題を振ってみただけだ
586デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/12(日) 05:12:35.53ID:srpvXSqe0 エスパー通訳頼む
587デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/12(日) 05:23:52.17ID:nuCi4dlE0 ストリングビューはストレージを保持しないぞ。
外部からやってきたやつに操作を与えるだけ。
パペットっていうかなんていうか。
外部からやってきたやつに操作を与えるだけ。
パペットっていうかなんていうか。
588デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/12(日) 05:33:48.19ID:srpvXSqe0 >>587
誰もそんな事は聞いてないんだけど
誰もそんな事は聞いてないんだけど
589デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/12(日) 07:18:14.98ID:nuCi4dlE0 そっか、当たり前すぎたな。
590デフォルトの名無しさん (ワッチョイ 5feb-ySnM)
2017/11/12(日) 07:30:16.55ID:/72Ra87B0 頭でっかちなアスペ池沼多過ぎか
591デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/12(日) 08:13:37.80ID:SrvHRpLe0 std::stringは有用だがstd::XXXstream系は糞杉
→必然的にsptintf_s()とstd::stringを併用するスタイルになる
いずれワカル
→必然的にsptintf_s()とstd::stringを併用するスタイルになる
いずれワカル
592デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/12(日) 08:22:45.23ID:SrvHRpLe0 および有用だからといってプログラムの動作根拠を成す
数量的関係の把握をサボるというのは話が違う
std::stringにメモリが許す限りいくらでも長い文字列を格納できるから大丈夫とか、
スマポを使っとけばいつか(10万年後かもしれないが)確実に開放してくれるから大丈夫という見込みだけで
テストもせずに青天井なデータ処理を許すプログラムをリリースするのは
素人プログラミングに後退である
ていうか現在の潤沢なメモリ搭載環境では問題の発覚が遅れる分なお悪い
数量的関係の把握をサボるというのは話が違う
std::stringにメモリが許す限りいくらでも長い文字列を格納できるから大丈夫とか、
スマポを使っとけばいつか(10万年後かもしれないが)確実に開放してくれるから大丈夫という見込みだけで
テストもせずに青天井なデータ処理を許すプログラムをリリースするのは
素人プログラミングに後退である
ていうか現在の潤沢なメモリ搭載環境では問題の発覚が遅れる分なお悪い
593デフォルトの名無しさん (ワッチョイ df8a-i75N)
2017/11/12(日) 08:32:07.61ID:11xnBK1L0 10万年後wもうお前黙っておけ
594デフォルトの名無しさん (ワッチョイ 5f78-XysI)
2017/11/12(日) 08:47:13.70ID:qGtn1GtX0 どんなひどいプロジェクトで仕事すれば、こんなパラノイアを発症するんだろうな
595デフォルトの名無しさん (ワッチョイ dfcc-TYjb)
2017/11/12(日) 09:05:22.76ID:yBBP+7vl0 >>592
つーことは、おまえbad_allocをcatchせずに放置してるのか
つーことは、おまえbad_allocをcatchせずに放置してるのか
596デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/12(日) 09:15:31.43ID:SrvHRpLe0 つか今気づいたが>>561は一体何が言いたいんじゃ…
ページ割り当ては論理アドレス上の領域確保に対し透過的なので
>スレッド生成時にそのスレッドが使えるスタックは一般に割り当てが完了するから、
>割り当てられた領域をオーバーしなければどう使っても良い
>もちろんフルに使ってもヒープの圧迫にはならない
の否定根拠にはなりえぬ
ページ割り当ては論理アドレス上の領域確保に対し透過的なので
>スレッド生成時にそのスレッドが使えるスタックは一般に割り当てが完了するから、
>割り当てられた領域をオーバーしなければどう使っても良い
>もちろんフルに使ってもヒープの圧迫にはならない
の否定根拠にはなりえぬ
597デフォルトの名無しさん (ワッチョイ 7fbd-OWtR)
2017/11/12(日) 09:17:28.25ID:SrvHRpLe0 >>595
ていうかむしろ藻前は正常系がbad_allocのcatchに依存した設計してるの?
ていうかむしろ藻前は正常系がbad_allocのcatchに依存した設計してるの?
598デフォルトの名無しさん (ワッチョイ dfcc-TYjb)
2017/11/12(日) 09:25:43.37ID:yBBP+7vl0 >>597
なぜそう思った?
なぜそう思った?
599デフォルトの名無しさん (ワッチョイ 7fb3-kkiU)
2017/11/12(日) 10:48:39.64ID:MOg5phwx0 >>594
お前らがよってたかっていじめるからだろ w
お前らがよってたかっていじめるからだろ w
600デフォルトの名無しさん (ワッチョイ 7f34-UxQ8)
2017/11/12(日) 13:20:18.65ID:cRGoHocf0 まだ516の糞コードの話題やってんのか
まったく飽きないフレンズどもだな
セルリアンに喰われちまえよ
まったく飽きないフレンズどもだな
セルリアンに喰われちまえよ
601デフォルトの名無しさん (ワッチョイ ff5f-/Rkm)
2017/11/12(日) 17:58:51.11ID:mnWm2NGv0 次は20が控えててどんどん進化してるけどmeyers本なしについていける自信がないよ。
17以降遭難者が続出するんじゃなかろうか。
17以降遭難者が続出するんじゃなかろうか。
602デフォルトの名無しさん (ワッチョイ 5f3c-TYjb)
2017/11/12(日) 18:04:43.84ID:Rpn1RmMo0 17ってそんなに難しいか?
14以後ってか11以後、03までのストイックを通り越したマゾプレーからの離脱が
大きなテーマになっていてautoのinitializer_listみたいなミスはしながらも
ちゃんとそれを正していく自浄作用が機能していると俺は思うが
14以後ってか11以後、03までのストイックを通り越したマゾプレーからの離脱が
大きなテーマになっていてautoのinitializer_listみたいなミスはしながらも
ちゃんとそれを正していく自浄作用が機能していると俺は思うが
603デフォルトの名無しさん (ワッチョイ ffe7-ySnM)
2017/11/12(日) 18:39:00.77ID:1bparYl/0 auto_ptrとかgetsとかトライグラフとかboolの++とか
危険で無駄で混乱を招くゴミが続々取り除かれてどんどん使いやすくなってるよね
生ポインタや生配列をいじくり回してメモリ壊すこともほとんどなくなった
危険で無駄で混乱を招くゴミが続々取り除かれてどんどん使いやすくなってるよね
生ポインタや生配列をいじくり回してメモリ壊すこともほとんどなくなった
604デフォルトの名無しさん (アウアウカー Sad3-X+f5)
2017/11/12(日) 20:18:16.94ID:tDIYjV/wa c++の機能がこのまま進歩していったとしてマクロは消えるかな?
606デフォルトの名無しさん (アウアウカー Sad3-X+f5)
2017/11/12(日) 20:33:05.49ID:tDIYjV/wa constexprとかautoのおかげでtemplateもマクロとして使いやすくなったよね。
そう考えるとテンプレートで出来なくてマクロじゃないと出来ないのって何かある?
そう考えるとテンプレートで出来なくてマクロじゃないと出来ないのって何かある?
多重マクロはテンプレートで置き換えられるのだろうか?
お題:http://mevius.2ch.net/test/read.cgi/tech/1432402159/18
ベタな回答:
http://mevius.2ch.net/test/read.cgi/tech/1432402159/106
http://peace.2ch.net/test/read.cgi/tech/1313183984/803
https://code.hackerearth.com/2642c4w
多重マクロによる回答
http://mevius.2ch.net/test/read.cgi/tech/1432402159/128
https://ideone.com/vNZWaH
お題:http://mevius.2ch.net/test/read.cgi/tech/1432402159/18
ベタな回答:
http://mevius.2ch.net/test/read.cgi/tech/1432402159/106
http://peace.2ch.net/test/read.cgi/tech/1313183984/803
https://code.hackerearth.com/2642c4w
多重マクロによる回答
http://mevius.2ch.net/test/read.cgi/tech/1432402159/128
https://ideone.com/vNZWaH
608デフォルトの名無しさん (ワッチョイ 5f3c-TYjb)
2017/11/12(日) 21:24:58.95ID:Rpn1RmMo0 >>605
テンプレートとマクロの本質的な違いがわかってないな
スコープに従うテンプレートやconstと
ほとんど何も考えてないおまえみたいなマクロは
オブジェクト指向という観点からは全く別次元なものだ
テンプレートとマクロの本質的な違いがわかってないな
スコープに従うテンプレートやconstと
ほとんど何も考えてないおまえみたいなマクロは
オブジェクト指向という観点からは全く別次元なものだ
610デフォルトの名無しさん (ワッチョイ 7fe7-TPjW)
2017/11/12(日) 21:52:12.94ID:D2YYnuTs0 オブジェクトたいして指向関係ないだろ
611デフォルトの名無しさん (ワッチョイ 7fe7-TPjW)
2017/11/12(日) 21:52:39.76ID:D2YYnuTs0 何だこの日本語wwww
オブジェクト指向たいして関係ないだろ
オブジェクト指向たいして関係ないだろ
612デフォルトの名無しさん (ワッチョイ 5f7f-zl2n)
2017/11/12(日) 22:01:17.81ID:rtfRb36m0 マクロの乱用をさけるためにテンプレートが発達してきたんだからマクロ使わないでね
613デフォルトの名無しさん (ワッチョイ 5f9f-/Aoa)
2017/11/12(日) 22:17:39.90ID:dvIcUwwY0 オブジェクト指向関たいして係ないだろ
614デフォルトの名無しさん (ワッチョイ ff3e-bbAv)
2017/11/12(日) 22:36:48.97ID:H7C5gFJ50 >>606
文字列リテラルを、リテラルとして連結するのはマクロじゃないと無理じゃないかな。
文字列リテラルを、リテラルとして連結するのはマクロじゃないと無理じゃないかな。
615はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff6f-Ud84)
2017/11/12(日) 23:06:22.93ID:HZk/rPeS0 >>614
不可能ではないと思うけど、そう気軽ではないというのは確かだと思う。
不可能ではないと思うけど、そう気軽ではないというのは確かだと思う。
616デフォルトの名無しさん (ワッチョイ 5f78-XysI)
2017/11/13(月) 00:53:11.35ID:50LJDJg60 const char8_t[] u8hage = "hage"; // = u8"hage"
const char16_t[] u16hage = "ハゲ"; // = u"ハゲ"
const char32_t[] u32hage = "禿"; // = U"禿"
const wchar_t[] whage = "はげ"; // = L"はげ"
みたいなプレフィックス省略が出来ればいいのになって思うときがあるね
const char16_t[] u16hage = "ハゲ"; // = u"ハゲ"
const char32_t[] u32hage = "禿"; // = U"禿"
const wchar_t[] whage = "はげ"; // = L"はげ"
みたいなプレフィックス省略が出来ればいいのになって思うときがあるね
617はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff6f-Ud84)
2017/11/13(月) 01:19:29.77ID:eMI9MrYT0 >>616
Haskell だとリテラルは多相になっていて、型推論で適当な型にあてはめられるんだが……。
C++ では返却値だけ型が違う関数はオーバーロードできないルールがある。
その延長でリテラルは無引数の関数のようなものと考えると文字列リテラルが様々な型で有りうるようなのは難しいと思う。
型の情報が重複してるのがダサいと思うなら型名の方を auto で書くくらいかなぁ。
Haskell だとリテラルは多相になっていて、型推論で適当な型にあてはめられるんだが……。
C++ では返却値だけ型が違う関数はオーバーロードできないルールがある。
その延長でリテラルは無引数の関数のようなものと考えると文字列リテラルが様々な型で有りうるようなのは難しいと思う。
型の情報が重複してるのがダサいと思うなら型名の方を auto で書くくらいかなぁ。
618デフォルトの名無しさん (ワッチョイ dfc3-HGFs)
2017/11/13(月) 02:08:07.11ID:Vao2bSzU0 kotlinとかswiftにあるiterator.forEach{}の構文がc++にもついてほしい
c++だとiterator.for[=]{ }みたいな構文になるんだろうか
c++だとiterator.for[=]{ }みたいな構文になるんだろうか
619デフォルトの名無しさん (ワッチョイ ff3e-bbAv)
2017/11/13(月) 02:48:35.71ID:KYqigAA60620デフォルトの名無しさん (ワッチョイ 5f9f-/Aoa)
2017/11/13(月) 03:24:18.68ID:XQ/CgY2w0 言語仕様変えないと無理かな?
621デフォルトの名無しさん (ワッチョイ 5f80-UJrp)
2017/11/13(月) 04:17:46.93ID:V72qpTkz0 >>619
コンパイル時定数という意味でのリテラルであれば出来るが
コンパイル時定数という意味でのリテラルであれば出来るが
622デフォルトの名無しさん (アウアウカー Sad3-X+f5)
2017/11/13(月) 07:31:48.15ID:zGRAb4NCa623デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/13(月) 07:34:39.03ID:8qKZRJJX0 範囲FORとSTLにfor_eachがある。
http://en.cppreference.com/w/cpp/algorithm/for_each
http://en.cppreference.com/w/cpp/algorithm/for_each
624デフォルトの名無しさん (ドコグロ MMe3-HGFs)
2017/11/13(月) 09:15:04.60ID:JahHbsM6M >>622
変数.for...って書き方がしたい
変数.for...って書き方がしたい
625デフォルトの名無しさん (アウアウカー Sad3-X+f5)
2017/11/13(月) 09:27:56.98ID:zGRAb4NCa 自作クラスならtemplate関数で範囲forを閉じ込めるとか?
試して無いけどこんな感じで
class test{
//begin()とend(),++が定義されているものとする
template<typename Func>
void for_(Func func){
for(auto& it: *this){
func(lt);
}
}
}
試して無いけどこんな感じで
class test{
//begin()とend(),++が定義されているものとする
template<typename Func>
void for_(Func func){
for(auto& it: *this){
func(lt);
}
}
}
626デフォルトの名無しさん (ワッチョイ 5f46-Ngiy)
2017/11/13(月) 09:34:12.47ID:TpgUuavl0 そういう臭い書き方はC++ではあまり採用されない方針
オブジェクト指向じたい、もうあまり言われてなくて
テンプレートによるメタプログラミングが主体になってる
オブジェクト指向を前面に押し出した言語はオワコンになるという法則があって
なもんで、魔除け、キチガイ除けの意味も含めて
Java や C# や C++ など、主流言語は
「マルチパラダイム言語」、「オブジェクト指向をサポート」
といった、ちょっと距離を置いた付き合いかたをしてるね
きっと、「全ての手続きは必ずただ一つのオブジェクトに紐づかなくてはならない」
という強迫観念的ともいえる窮屈な考え方が脳や精神に良くなかったのだろう
本当に精神疾患を引き起こしてリタイアする人多いし
オブジェクト指向じたい、もうあまり言われてなくて
テンプレートによるメタプログラミングが主体になってる
オブジェクト指向を前面に押し出した言語はオワコンになるという法則があって
なもんで、魔除け、キチガイ除けの意味も含めて
Java や C# や C++ など、主流言語は
「マルチパラダイム言語」、「オブジェクト指向をサポート」
といった、ちょっと距離を置いた付き合いかたをしてるね
きっと、「全ての手続きは必ずただ一つのオブジェクトに紐づかなくてはならない」
という強迫観念的ともいえる窮屈な考え方が脳や精神に良くなかったのだろう
本当に精神疾患を引き起こしてリタイアする人多いし
627デフォルトの名無しさん (ワントンキン MMdf-ZLBY)
2017/11/13(月) 09:59:56.81ID:kicNWBgmM 変数forならラッパ作れば終わりだけどなんかつまらないね。
apply(op).for(sequence)とかのほうがインターフェースとしては見栄えがいいかも
apply(op).for(sequence)とかのほうがインターフェースとしては見栄えがいいかも
628デフォルトの名無しさん (ワッチョイ 5f04-uywO)
2017/11/13(月) 10:38:35.17ID:8qKZRJJX0629デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/13(月) 10:50:06.32ID:4dN82Cnsd 「制御構造までオブジェクトに属するべき」ってやり過ぎというより単に根拠のない主張だよね。
630デフォルトの名無しさん (ワッチョイ df8a-i75N)
2017/11/13(月) 11:12:29.10ID:lmnXwEnk0 range-based forで十分じゃん何が不満なんだ理解できない
俺が思うのはインデックス取れたらいいなあということぐらい
俺が思うのはインデックス取れたらいいなあということぐらい
631デフォルトの名無しさん (アウアウカー Sad3-X+f5)
2017/11/13(月) 11:19:17.35ID:zGRAb4NCa 書いといてなんだけど624と630の意見に賛成
632デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/13(月) 11:43:20.37ID:4dN82Cnsd zipwith相当のことをどうやって書く?
633デフォルトの名無しさん (JP 0H8f-2Hq5)
2017/11/13(月) 12:13:53.76ID:uodQK+nnH634デフォルトの名無しさん (ワントンキン MMdf-ZLBY)
2017/11/13(月) 12:34:55.34ID:kicNWBgmM >>628
それは全然別の機能だけどな
それは全然別の機能だけどな
635デフォルトの名無しさん (ワッチョイ 5fb3-hKMu)
2017/11/13(月) 13:01:28.76ID:3MWvQR0t0 >>601
meyers本ってそんなに役立つかねぇ
最初のeffective c++ちょろっと読んだ程度なので最近のは知らんけど
あの人の本に従ってる人は、自分で考えて創意工夫しない人が多いよ
セオリーに固執する日本人はそういうパターンに陥りがち
meyers本ってそんなに役立つかねぇ
最初のeffective c++ちょろっと読んだ程度なので最近のは知らんけど
あの人の本に従ってる人は、自分で考えて創意工夫しない人が多いよ
セオリーに固執する日本人はそういうパターンに陥りがち
636デフォルトの名無しさん (ワッチョイ 5f7f-zl2n)
2017/11/13(月) 13:13:06.32ID:pJUCOUGu0 お前らの創意工夫よりメイヤーズの方が100倍信じられるから
637デフォルトの名無しさん (ワッチョイ 5fb3-hKMu)
2017/11/13(月) 13:29:22.72ID:3MWvQR0t0 自分の才能や経験の不足を虎の威で補おうとしてるのなら、終わってるよ
meyersが「こうしろ」と言ってることの、理由まで含めて納得するならいいけど
そうでない人の方が圧倒的に多いからなぁ
>>636がまともな実力持ってるなら、meyersが言うセオリーに当てはまらない場面なんて山ほど経験してるはずだが
meyersが「こうしろ」と言ってることの、理由まで含めて納得するならいいけど
そうでない人の方が圧倒的に多いからなぁ
>>636がまともな実力持ってるなら、meyersが言うセオリーに当てはまらない場面なんて山ほど経験してるはずだが
638デフォルトの名無しさん (スプッッ Sd1f-WrWp)
2017/11/13(月) 13:33:42.96ID:2e8VXpGed >>637
例えばどういう場面?
例えばどういう場面?
639はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff6f-Ud84)
2017/11/13(月) 14:57:06.43ID:eMI9MrYT0 >>635
あーいう本は典型的・基本的な工夫を示すもので、それを踏まえてその先へ行くもんなんだよな。
基本でしかないことに拘泥するのは下策でも、基本的なことすらおさえずにいるのは論外だから役には立つよ。
ある程度の経験を積んでいればああいう本に書かれているようなことは習得していて当たり前だっていう意味で
有用さに疑問を持つって意味かな?
あーいう本は典型的・基本的な工夫を示すもので、それを踏まえてその先へ行くもんなんだよな。
基本でしかないことに拘泥するのは下策でも、基本的なことすらおさえずにいるのは論外だから役には立つよ。
ある程度の経験を積んでいればああいう本に書かれているようなことは習得していて当たり前だっていう意味で
有用さに疑問を持つって意味かな?
640デフォルトの名無しさん (ワッチョイ 5f7f-zl2n)
2017/11/13(月) 15:36:55.69ID:pJUCOUGu0 ド素人の創意工夫とかマジ勘弁してほしいな
セオリーもちょろっとしか知らないのに自分のコードが正しいと思い込んじゃうパターンだなこれは
セオリーもちょろっとしか知らないのに自分のコードが正しいと思い込んじゃうパターンだなこれは
641デフォルトの名無しさん (ワッチョイ 5f78-XysI)
2017/11/13(月) 15:57:04.39ID:50LJDJg60 まぁ公園の立て看板みたいなもんだからな
642635 (ワッチョイ 5fb3-TPjW)
2017/11/13(月) 18:34:02.62ID:Rgprs5DR0643デフォルトの名無しさん (ドコグロ MMe3-kkiU)
2017/11/13(月) 19:14:19.64ID:IBZYfbeXM 俺のつたない経験でも>>637は口先だけの使えない奴だとわかる
644デフォルトの名無しさん (ワッチョイ 5fb3-TPjW)
2017/11/13(月) 19:28:15.39ID:Rgprs5DR0 >>643
そっくりそのまま返すわ、どうせ教えられた通りの書き方しか出来ない無能だろ?
そっくりそのまま返すわ、どうせ教えられた通りの書き方しか出来ない無能だろ?
645デフォルトの名無しさん (ワッチョイ ff5f-/Rkm)
2017/11/13(月) 19:37:54.37ID:jV9TFoOE0646デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/13(月) 19:38:46.06ID:4dN82Cnsd647デフォルトの名無しさん (ワッチョイ 5fb3-TPjW)
2017/11/13(月) 19:41:58.13ID:Rgprs5DR0 >>645
だいぶ昔に借りて読んだ程度のうろ覚えで否定したが
>こういうのあるから鵜呑みは良くないと思うんだよね
meyers本に限らず、これが間違ってると思ってんの?
それとも
>「値を返す関数の戻り値にもconstつけよう」
これが正しいと思ってんの?
だいぶ昔に借りて読んだ程度のうろ覚えで否定したが
>こういうのあるから鵜呑みは良くないと思うんだよね
meyers本に限らず、これが間違ってると思ってんの?
それとも
>「値を返す関数の戻り値にもconstつけよう」
これが正しいと思ってんの?
648デフォルトの名無しさん (ドコグロ MMe3-kkiU)
2017/11/13(月) 19:56:42.22ID:IBZYfbeXM■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 石破に後ろから鉄砲やめろ!て言う人いるじゃん?石破政権時の石破降ろしには後ろ撃ちと批判しなかったのはなぜ [472617201]
- はいはい
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】麻生太郎さん、オムツをしていた。晋さん…ここにいたんだね… [731544683]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★5
