次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
C++相談室 part140
https://mevius.5ch.net/test/read.cgi/tech/1547326582/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
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++相談室 part141
■ このスレッドは過去ログ倉庫に格納されています
2019/02/22(金) 03:07:43.52ID:MgOIx7iK
533デフォルトの名無しさん
2019/03/22(金) 01:10:14.13ID:LxKdyD8r 定数って参照透過性があるよね。
C++はconstexprがあるのだから、関数型プログラミングを超える、定数型プログラミングという新パラダイムを提唱したいと思います。
C++はconstexprがあるのだから、関数型プログラミングを超える、定数型プログラミングという新パラダイムを提唱したいと思います。
534はちみつ餃子 ◆8X2XSCHEME
2019/03/22(金) 01:14:02.50ID:6voZlles コンパイル時レイトレーシングとかやってる人もいるけど狂気の産物って感じがして C++ ぽくて良い。
535デフォルトの名無しさん
2019/03/22(金) 02:28:04.74ID:jw/5aFNH しーぷら一筋30年〜、速いの、上手いの、やっすいの〜
536デフォルトの名無しさん
2019/03/22(金) 02:37:28.24ID:M4ChOHMa >>534
>コンパイル時レイトレーシング
一応訊くけど、ああいうのはレイ当てる3Dオブジェクトのデータは
全てC++のソースに書かないといけないことは分かってる?(モデリングデータをファイルから読んでコンパイル時にレイトレするのは当然不可能)
あの試み自体は面白いと思うけどね・・
実用性や(ソフトウェアの)ユーザーの利益にならないことをもてはやさないで欲しいもんだが
>コンパイル時レイトレーシング
一応訊くけど、ああいうのはレイ当てる3Dオブジェクトのデータは
全てC++のソースに書かないといけないことは分かってる?(モデリングデータをファイルから読んでコンパイル時にレイトレするのは当然不可能)
あの試み自体は面白いと思うけどね・・
実用性や(ソフトウェアの)ユーザーの利益にならないことをもてはやさないで欲しいもんだが
537デフォルトの名無しさん
2019/03/22(金) 06:24:27.94ID:j45II+ff プリレンダのゲームは大量にあるしレイトレーシングしとくのもその延長線上じゃない
538デフォルトの名無しさん
2019/03/22(金) 08:03:01.00ID:VPBgCitj コンパイル時ファイル入出力がサポートされればいいわけだ
それにレイトレーシングはまあ確かに冗談も含まれてるだろうけどそれだけ複雑で重い処理でも可能だという技術デモは価値があるだろう
画像にフィルタを適用するとかパターンが決まっているエフェクトを生成するだとか色々できて可能性はあると思うよ
それにレイトレーシングはまあ確かに冗談も含まれてるだろうけどそれだけ複雑で重い処理でも可能だという技術デモは価値があるだろう
画像にフィルタを適用するとかパターンが決まっているエフェクトを生成するだとか色々できて可能性はあると思うよ
539デフォルトの名無しさん
2019/03/22(金) 08:17:25.29ID:sSVPAm0I 汎用的につかってもらうことを目的としているライブラリを除けば
コーディング時に型が決まっていないことなんてありえない
もしあるならそれは設計してないってことじゃん
templateなんて汎用的につかってもらうことを目的としているライブラリを書く場合にしか使わないだろ
後で、intからdoubleになるかもしれないから、なんて言ってるバカいるけど
きっちり設計しろよ
コーディング時に型が決まっていないことなんてありえない
もしあるならそれは設計してないってことじゃん
templateなんて汎用的につかってもらうことを目的としているライブラリを書く場合にしか使わないだろ
後で、intからdoubleになるかもしれないから、なんて言ってるバカいるけど
きっちり設計しろよ
540デフォルトの名無しさん
2019/03/22(金) 08:28:45.64ID:wNvbYX88541デフォルトの名無しさん
2019/03/22(金) 09:08:34.94ID:OAKB0NCU542デフォルトの名無しさん
2019/03/22(金) 09:11:15.22ID:VPBgCitj >>541
俺は好きになったよ
俺は好きになったよ
543デフォルトの名無しさん
2019/03/22(金) 09:31:33.91ID:OAKB0NCU いいね、趣味で気楽に使ってる人は
544デフォルトの名無しさん
2019/03/22(金) 09:52:12.19ID:VPBgCitj ええやろ
楽しいわ
楽しいわ
545デフォルトの名無しさん
2019/03/22(金) 10:20:45.52ID:RSNtol3b メタプログラミングってコンパイル時に評価してゼロオーバーヘッドとかすごいとは思うけど
学習コストや可読性と釣り合ってるか?
学習コストや可読性と釣り合ってるか?
546デフォルトの名無しさん
2019/03/22(金) 10:32:59.03ID:OAKB0NCU 仕事で4月になったらまた新しいメンバーシップ増えるけど
なまじ趣味でc++使ってたやつが一番困る
新しい機能使いたいだけでトータルの生産性考えないんだよね
なまじ趣味でc++使ってたやつが一番困る
新しい機能使いたいだけでトータルの生産性考えないんだよね
547デフォルトの名無しさん
2019/03/22(金) 10:41:23.85ID:wNvbYX88 そんな一部の現場の実情を忖度してたら競争に負けてしまうのではないか?
548デフォルトの名無しさん
2019/03/22(金) 10:45:43.23ID:VPBgCitj 毎回同じこといってる奴いるよな
このスレには10人くらいしか居ないってネタは挙がってるし
このスレには10人くらいしか居ないってネタは挙がってるし
549デフォルトの名無しさん
2019/03/22(金) 11:07:13.15ID:v3KGlGVP550デフォルトの名無しさん
2019/03/22(金) 11:11:55.43ID:nPC1T1eJ >>545
やってることの性質にもよる
サーバーサイドなんかで潤沢なリソースを使って長時間動くものだとほとんど意味はないよ
その場合.NETやJavaのような実行時コード生成の方が遥かに柔軟性が高く、オーバーヘッドも実質的にはほとんどない
やってることの性質にもよる
サーバーサイドなんかで潤沢なリソースを使って長時間動くものだとほとんど意味はないよ
その場合.NETやJavaのような実行時コード生成の方が遥かに柔軟性が高く、オーバーヘッドも実質的にはほとんどない
551はちみつ餃子 ◆8X2XSCHEME
2019/03/22(金) 12:34:15.37ID:6voZlles >>536
それ自体はただの余興だけど、
コンパイラのバグを顕在化させる成果を出したりもしてるよ。
処理系の開発チームにとってもまずは問題を発見できなきゃ直せないからさ、
色んな形で使ってみる人だってそれはそれで必要なんだよ。
処理系の質が良くなるのは間接的にユーザの利益にだってなる。
それ自体はただの余興だけど、
コンパイラのバグを顕在化させる成果を出したりもしてるよ。
処理系の開発チームにとってもまずは問題を発見できなきゃ直せないからさ、
色んな形で使ってみる人だってそれはそれで必要なんだよ。
処理系の質が良くなるのは間接的にユーザの利益にだってなる。
553デフォルトの名無しさん
2019/03/22(金) 14:12:54.65ID:M4ChOHMa >>551
まぁその理屈はわからんでもないしメタプログラミングやってるとあの人のブログは勉強になるけどね
ただああいうのはブラックジョークの類であることを忘れると>>537みたいな勘違いした奴が出てくる
>>538
>画像にフィルタを適用するとかパターンが決まっているエフェクトを生成するだとか
それ、画像もコンパイル時に確定してるデータじゃないとあかんのやで?
(しかもconstexprなcharの配列みたいな、C++のコードに直さないといけない)
重ねて言うけど、面白い試みだけど実用的ではないんだよ、ああいうのをC++的だとかカッコいいとかもてはやすのはC++の衰退を招くだけ
趣味グラマは自分が趣味グラマであって時に実用性からかけ離れてるということを自覚すべき
まぁその理屈はわからんでもないしメタプログラミングやってるとあの人のブログは勉強になるけどね
ただああいうのはブラックジョークの類であることを忘れると>>537みたいな勘違いした奴が出てくる
>>538
>画像にフィルタを適用するとかパターンが決まっているエフェクトを生成するだとか
それ、画像もコンパイル時に確定してるデータじゃないとあかんのやで?
(しかもconstexprなcharの配列みたいな、C++のコードに直さないといけない)
重ねて言うけど、面白い試みだけど実用的ではないんだよ、ああいうのをC++的だとかカッコいいとかもてはやすのはC++の衰退を招くだけ
趣味グラマは自分が趣味グラマであって時に実用性からかけ離れてるということを自覚すべき
554デフォルトの名無しさん
2019/03/22(金) 14:23:16.46ID:M4ChOHMa あ、でも
>>538
>コンパイル時ファイル入出力
これはやり過ぎな気もするけど個人的にはあっても良いとは思うw
ただ、画像のフィルタリングをコンパイル時にやるのとツール作って実行時にやるのとで
前者が便利な場面ってあるのかね?(しかも前者は非常に開発コストかかる
>>538
>コンパイル時ファイル入出力
これはやり過ぎな気もするけど個人的にはあっても良いとは思うw
ただ、画像のフィルタリングをコンパイル時にやるのとツール作って実行時にやるのとで
前者が便利な場面ってあるのかね?(しかも前者は非常に開発コストかかる
555デフォルトの名無しさん
2019/03/22(金) 14:28:03.34ID:VPBgCitj >>553
コンパイル時に確定しているデータがあるかもしれないし無いかもしれない
fstreamがコンパイル時に動くようになればいいだけ
そうなれば準備が面倒なプリプロセスも必要ない
研究に対して実用性がうんたらとかわけ分からないことを言うのはよくないなあ
様々なアイデアから自分の都合のいいところをつまんで実用化するのが末端の仕事だろうに
俺が使い道が思いつかないことに熱心になってると界隈が衰退するとかさすがに草生える
コンパイル時に確定しているデータがあるかもしれないし無いかもしれない
fstreamがコンパイル時に動くようになればいいだけ
そうなれば準備が面倒なプリプロセスも必要ない
研究に対して実用性がうんたらとかわけ分からないことを言うのはよくないなあ
様々なアイデアから自分の都合のいいところをつまんで実用化するのが末端の仕事だろうに
俺が使い道が思いつかないことに熱心になってると界隈が衰退するとかさすがに草生える
556デフォルトの名無しさん
2019/03/22(金) 14:29:27.80ID:OAKB0NCU 静的なものはなんでもコンパイル時に解決するって思想が典型的なハンマー釘病なんだよ
コンパイル時だけが解じゃない
そのうち仕事で特に理由なくむやみに重いconstexprぶちこむやつがでてくるだろう
それでビルド時間5分10分長くなったりするわけだ
ほんとc++はクソ
コンパイル時だけが解じゃない
そのうち仕事で特に理由なくむやみに重いconstexprぶちこむやつがでてくるだろう
それでビルド時間5分10分長くなったりするわけだ
ほんとc++はクソ
557デフォルトの名無しさん
2019/03/22(金) 14:32:15.97ID:VPBgCitj558デフォルトの名無しさん
2019/03/22(金) 14:49:00.32ID:X0mnKdTP >>555
constexpr関数みたいにコンパイル時にできる、実行時にしか出来ない、を「自動で振り分けて問題なく動く仕組み」
の範囲に全て収まるならそうだろうな
後半煽ってきたのでキツめに言わせて頂くが、コンパイル時レイトレはソース公開されてたろ?
あれを実用したゲーム開発の例を一つでも挙げてみろ
有意義な研究ならとっくに実用されてんだよボケ
あるいはボレロ氏の試みに同調して何もかも(ファイル入出力すら)コンパイル時に出来る言語にしよう、なんて動きが委員会に起きてるのか?
お前多分まともにメタプログラミング出来てるレベルじゃないのに調子乗ってるだろ
constexpr関数みたいにコンパイル時にできる、実行時にしか出来ない、を「自動で振り分けて問題なく動く仕組み」
の範囲に全て収まるならそうだろうな
後半煽ってきたのでキツめに言わせて頂くが、コンパイル時レイトレはソース公開されてたろ?
あれを実用したゲーム開発の例を一つでも挙げてみろ
有意義な研究ならとっくに実用されてんだよボケ
あるいはボレロ氏の試みに同調して何もかも(ファイル入出力すら)コンパイル時に出来る言語にしよう、なんて動きが委員会に起きてるのか?
お前多分まともにメタプログラミング出来てるレベルじゃないのに調子乗ってるだろ
559デフォルトの名無しさん
2019/03/22(金) 15:11:09.28ID:VPBgCitj >>558
これだけ複雑な処理も出来るんですよっていうだけの話だからレイトレーシングである必要はない
それができるならこういうこともできるんじゃないか?ってなるのが普通
あとゲームのソースは公開されないから知るかとしか言いようがない
C++20でコンパイル時動的メモリが追加される予定だし、実行時でもコンパイル時でもタイミングが違うだけだからいつでも何でもできていいだろっていう流れは既にできている
標準化委員会がボレロを認知しているかは知らん
これだけ複雑な処理も出来るんですよっていうだけの話だからレイトレーシングである必要はない
それができるならこういうこともできるんじゃないか?ってなるのが普通
あとゲームのソースは公開されないから知るかとしか言いようがない
C++20でコンパイル時動的メモリが追加される予定だし、実行時でもコンパイル時でもタイミングが違うだけだからいつでも何でもできていいだろっていう流れは既にできている
標準化委員会がボレロを認知しているかは知らん
560デフォルトの名無しさん
2019/03/22(金) 15:55:54.71ID:2qpWO6k3 コンパイラで高度なことが色々できるし、原理も実現も公開されてる、
興味を持って調べれば(ある程度なら)理解だってできるかもしれない。
というのはC++の素晴らしい部分だと思うのよ。
で、調べて知ったことを使って試したい、他の人に紹介したいってのは
これまた自然な気持ちだろう。自分もそういう面があるし。
実際に複数人で協力して作る実用プロジェクトで機能を使うかどうかは、
「コンパイル時間」だの「高度化・汎用化で読みにくくなる」だの、
トレードオフの問題になるけど。
分からないのは、「俺はこれ知ってる、お前は知らないだろ」と
他人より優位に立つ材料としてしか知識を使ってないような
投稿が見受けられることなんだよね。
ことにネット掲示板なんて、見ず知らずの他人同士なんだから、
相手をバカにしたって仕方ない、何の益もないだろうに。
興味を持って調べれば(ある程度なら)理解だってできるかもしれない。
というのはC++の素晴らしい部分だと思うのよ。
で、調べて知ったことを使って試したい、他の人に紹介したいってのは
これまた自然な気持ちだろう。自分もそういう面があるし。
実際に複数人で協力して作る実用プロジェクトで機能を使うかどうかは、
「コンパイル時間」だの「高度化・汎用化で読みにくくなる」だの、
トレードオフの問題になるけど。
分からないのは、「俺はこれ知ってる、お前は知らないだろ」と
他人より優位に立つ材料としてしか知識を使ってないような
投稿が見受けられることなんだよね。
ことにネット掲示板なんて、見ず知らずの他人同士なんだから、
相手をバカにしたって仕方ない、何の益もないだろうに。
561デフォルトの名無しさん
2019/03/22(金) 16:19:37.76ID:M4ChOHMa >>559
>それができるならこういうこともできるんじゃないか?ってなるのが普通
最初の方の主張からずいぶんと縮小したなw
>あとゲームのソースは公開されないから知るかとしか言いようがない
ググれ
ソースの公開なんかされてなくとも技術の動向くらいあちこちで紹介されてる
>C++20 いつでも何でもできていいだろっていう流れは既にできている
今調べたら確かにそうみたいだな、俺の認識不足だったし出来ることが増えること自体は悪くないと思う(前にもそう言ったが
ただ、
>コンパイル時にやるのとツール作って実行時にやるのとで前者が便利な場面ってあるのかね?
この疑問に答えて欲しいもんだけどね
>俺が使い道が思いつかないことに熱心になってると界隈が衰退するとかさすがに草生える
ならお前は使い道を知ってるんだろ?って話
>それができるならこういうこともできるんじゃないか?ってなるのが普通
最初の方の主張からずいぶんと縮小したなw
>あとゲームのソースは公開されないから知るかとしか言いようがない
ググれ
ソースの公開なんかされてなくとも技術の動向くらいあちこちで紹介されてる
>C++20 いつでも何でもできていいだろっていう流れは既にできている
今調べたら確かにそうみたいだな、俺の認識不足だったし出来ることが増えること自体は悪くないと思う(前にもそう言ったが
ただ、
>コンパイル時にやるのとツール作って実行時にやるのとで前者が便利な場面ってあるのかね?
この疑問に答えて欲しいもんだけどね
>俺が使い道が思いつかないことに熱心になってると界隈が衰退するとかさすがに草生える
ならお前は使い道を知ってるんだろ?って話
562デフォルトの名無しさん
2019/03/22(金) 16:33:55.31ID:M4ChOHMa 正直、ファイル(C++ではない)に書かれてる内容に従ってコンパイル時条件分岐とか手軽に出来たら
結構実用性はあると思うよ
ただその一方で、ここでプロとアマチュアのC++に対する意見がひどく乖離してる(このスレ見てたら気づいてないとおかしいが)ことに
全く問題意識が無いのであれば、それは結局自分が偉そうにしたいだけってことだと思うけどね
結構実用性はあると思うよ
ただその一方で、ここでプロとアマチュアのC++に対する意見がひどく乖離してる(このスレ見てたら気づいてないとおかしいが)ことに
全く問題意識が無いのであれば、それは結局自分が偉そうにしたいだけってことだと思うけどね
563デフォルトの名無しさん
2019/03/22(金) 16:39:09.47ID:M4ChOHMa constexprの拡張とか、そんなに開発現場(アマチュアでもソフト開発者等)から求められてなさそうなことにばかり
最近のC++は注力しすぎじゃないの、ってだけの話なんだけどね
ここでそれを言うと毎回荒れるんだよなぁ
最近のC++は注力しすぎじゃないの、ってだけの話なんだけどね
ここでそれを言うと毎回荒れるんだよなぁ
564デフォルトの名無しさん
2019/03/22(金) 16:45:13.61ID:7XQoWDDf C++11すら使えないもんな
565デフォルトの名無しさん
2019/03/22(金) 16:46:23.14ID:VPBgCitj >>563
別に注力しすぎてはいない更新内容は多岐にわたる
constexprは派手だから注目されやすいだけ
https://cpprefjp.github.io/lang/cpp11.html
https://cpprefjp.github.io/lang/cpp14.html
https://cpprefjp.github.io/lang/cpp17.html
https://cpprefjp.github.io/lang/cpp20.html
別に注力しすぎてはいない更新内容は多岐にわたる
constexprは派手だから注目されやすいだけ
https://cpprefjp.github.io/lang/cpp11.html
https://cpprefjp.github.io/lang/cpp14.html
https://cpprefjp.github.io/lang/cpp17.html
https://cpprefjp.github.io/lang/cpp20.html
566デフォルトの名無しさん
2019/03/22(金) 16:48:03.99ID:d9SNUM0T 愛知県人注目。遠州地区の技術者も注目。
[急募]
豊川ハローワーク管内の求人で、SEの席に空きがあります。
四月スタートの仕事なので、急いで応募して下さい。報酬は、
月に20万円から60万円。
英語力は必須ではありませんが、『実はTOEICのスコア以上に
英語ができる』と面接では答えて下さい。(英語は入社してから
頑張って下さい。)
ネットワーク関係が得意だと言って下さい。JP1の経験があれば、
なおよし。ECUの経験があれば、さらによし。キャティアのマクロが
書ける人、大歓迎。(これらは、必須ではありません。)
[急募]
豊川ハローワーク管内の求人で、SEの席に空きがあります。
四月スタートの仕事なので、急いで応募して下さい。報酬は、
月に20万円から60万円。
英語力は必須ではありませんが、『実はTOEICのスコア以上に
英語ができる』と面接では答えて下さい。(英語は入社してから
頑張って下さい。)
ネットワーク関係が得意だと言って下さい。JP1の経験があれば、
なおよし。ECUの経験があれば、さらによし。キャティアのマクロが
書ける人、大歓迎。(これらは、必須ではありません。)
567デフォルトの名無しさん
2019/03/22(金) 16:48:35.97ID:OAKB0NCU >>557
それがお前の案?
手動じゃんそれ
くそださいとしか
仕事では数十人規模でやってるわけで、そんな人力チェックしたくないわけよ
プルリクぐらいはやってるが全て見きれるわけじゃない
まずはビルド時間の推移とか、内訳を監視するタスクを回すことを考えるだろうが
そういう非生産的な仕事が増えることがクソなんだよ
それがお前の案?
手動じゃんそれ
くそださいとしか
仕事では数十人規模でやってるわけで、そんな人力チェックしたくないわけよ
プルリクぐらいはやってるが全て見きれるわけじゃない
まずはビルド時間の推移とか、内訳を監視するタスクを回すことを考えるだろうが
そういう非生産的な仕事が増えることがクソなんだよ
568デフォルトの名無しさん
2019/03/22(金) 16:51:03.18ID:7XQoWDDf569デフォルトの名無しさん
2019/03/22(金) 16:51:56.89ID:y6Rn9cx8 C++の新機能なんて大半の開発現場にはいらんだろ
前いたところは初心者向けの教科書を読めばだいたいわかる基本的な構文しか使ってなかった
constexprもなければテンプレートもラムダ式もなかった
コード書けん奴がコードレビューするからそんなもん使った日にはわかりやすく書けとか怒られた
前いたところは初心者向けの教科書を読めばだいたいわかる基本的な構文しか使ってなかった
constexprもなければテンプレートもラムダ式もなかった
コード書けん奴がコードレビューするからそんなもん使った日にはわかりやすく書けとか怒られた
570デフォルトの名無しさん
2019/03/22(金) 16:54:51.52ID:wNvbYX88571デフォルトの名無しさん
2019/03/22(金) 16:56:04.17ID:VPBgCitj572デフォルトの名無しさん
2019/03/22(金) 17:00:41.61ID:M4ChOHMa まぁconstexprのコンパイル時コストを気にするだけなら多分ifdefでdefine CONSTEXPRとかすればいいだろうけど
メタプログラミングはやっぱコンパイル時間長くなる
個人で開発してても無視出来ないわ・・
>>571
性能上げて比較結果を出してから言うべき
メタプログラミングはやっぱコンパイル時間長くなる
個人で開発してても無視出来ないわ・・
>>571
性能上げて比較結果を出してから言うべき
573デフォルトの名無しさん
2019/03/22(金) 17:03:59.06ID:M4ChOHMa ていうか>>560の言ったことを実証するかのような流れだなww
574デフォルトの名無しさん
2019/03/22(金) 17:06:35.17ID:nPC1T1eJ >>571
一般に、無駄な拘りに時間かけるのを避けてその分ボトルネック潰しに時間をかけたほうがソフトウェアのパフォーマンスは良くなるよ
一般に、無駄な拘りに時間かけるのを避けてその分ボトルネック潰しに時間をかけたほうがソフトウェアのパフォーマンスは良くなるよ
575デフォルトの名無しさん
2019/03/22(金) 17:54:21.92ID:pFUycIOf >>563
求められているだろ?
求められているだろ?
576デフォルトの名無しさん
2019/03/22(金) 18:34:40.09ID:LxKdyD8r 関数型同様、定数型プログラミングにもアンチがわいてきましたか。
アンチがわいたってことは、定数型プログラミングが世の中に受け入れられたってことでいいですね?
アンチがわいたってことは、定数型プログラミングが世の中に受け入れられたってことでいいですね?
577デフォルトの名無しさん
2019/03/22(金) 19:08:02.11ID:2qpWO6k3 その機能自体への好悪もあるか知れないけど、
「導入されたからには直ちに覚えて使わないのは罪悪」あるいは
「使わない奴は学習能力の劣る無能、使わないのでなく使えないんだろ」
みたいな、新機能の押し付けが嫌がられてるって部分もあるんでないかな。
「導入されたからには直ちに覚えて使わないのは罪悪」あるいは
「使わない奴は学習能力の劣る無能、使わないのでなく使えないんだろ」
みたいな、新機能の押し付けが嫌がられてるって部分もあるんでないかな。
578デフォルトの名無しさん
2019/03/22(金) 19:19:05.75ID:wNvbYX88 実行時おじさん
579デフォルトの名無しさん
2019/03/22(金) 19:21:05.55ID:OAKB0NCU580デフォルトの名無しさん
2019/03/22(金) 19:23:25.37ID:YgnW0VV3 Googleの結論
Think twice before using template metaprogramming or other complicated template techniques;
think about whether the average member of your team will be able to understand your code well enough
to maintain it after you switch to another project, or whether a non-C++ programmer or someone casually browsing the code base will be able to understand the error messages or trace the flow of a function they want to call.
https://google.github.io/styleguide/cppguide.html#Template_metaprogramming
Think twice before using template metaprogramming or other complicated template techniques;
think about whether the average member of your team will be able to understand your code well enough
to maintain it after you switch to another project, or whether a non-C++ programmer or someone casually browsing the code base will be able to understand the error messages or trace the flow of a function they want to call.
https://google.github.io/styleguide/cppguide.html#Template_metaprogramming
581デフォルトの名無しさん
2019/03/22(金) 19:26:07.13ID:LxKdyD8r 【定数型プログラミングの掟】
> 「ブッ殺す」と心の中で思ったならッ!その時スデに行動は終わっているんだッ!
> 「ブッ殺す」と心の中で思ったならッ!その時スデに行動は終わっているんだッ!
582デフォルトの名無しさん
2019/03/22(金) 19:31:22.14ID:M4ChOHMa でも終わったときめちゃくちゃ疲労してるんやで
583デフォルトの名無しさん
2019/03/22(金) 20:21:58.70ID:nPC1T1eJ585デフォルトの名無しさん
2019/03/22(金) 21:57:31.87ID:FYyZQ6ej コンパイル時C++コンパイルをやったら尊敬する
586デフォルトの名無しさん
2019/03/22(金) 22:28:07.22ID:1RSJEChR 正規表現のコンパイルならありかもしれないw
587デフォルトの名無しさん
2019/03/22(金) 22:42:15.38ID:78R951f8 自分の知らない概念を勉強するって意味ならlispのマクロでも覚えたほうがはるかに有意義なんだが
そうしないだよね。
なぜならそれじゃ老害にマウントできないから。
まあそういうクソみたいな思想のやつが年取って老害化するんだけど。
そうしないだよね。
なぜならそれじゃ老害にマウントできないから。
まあそういうクソみたいな思想のやつが年取って老害化するんだけど。
588デフォルトの名無しさん
2019/03/22(金) 23:22:27.03ID:C43yQc+Q589デフォルトの名無しさん
2019/03/22(金) 23:29:13.79ID:LxKdyD8r でもそれがLALR(1)パーサーを生成するなら?
590デフォルトの名無しさん
2019/03/22(金) 23:36:46.32ID:tosUzxZE コンパイルに時間かかるから、その間暇つぶしに裏でレイトレーシングして遊んでんのかと思った
591デフォルトの名無しさん
2019/03/23(土) 00:40:56.99ID:A6OyMWzd デイトレーシングってストーカーのことだっけ。
592デフォルトの名無しさん
2019/03/23(土) 06:55:12.12ID:jegHMgvE593デフォルトの名無しさん
2019/03/23(土) 07:22:13.12ID:WDi4jE89 長年プログラムの保守やってるの見るとその通りだが
594デフォルトの名無しさん
2019/03/23(土) 08:07:02.46ID:T5eFVdJU constexpr指定するだけのことが技巧的なのか知らなかった
I/Oや動的メモリと関係なさそうなところに脳死で適当に付けておくだけでいいのに
I/Oや動的メモリと関係なさそうなところに脳死で適当に付けておくだけでいいのに
595デフォルトの名無しさん
2019/03/23(土) 08:35:25.57ID:RdkKrV9k 霞ヶ関文学は禁止ってこった。
596デフォルトの名無しさん
2019/03/23(土) 12:20:32.92ID:0OEv8pnV 基本的に新機能は分かりやすく書きやすくするためのものなんだけどな
597デフォルトの名無しさん
2019/03/23(土) 12:50:41.97ID:p3DdVUb8 数学への回帰と先祖返りじゃないの
分かり易くなるんじゃない、難しくなるんだよ
分かり易くなるんじゃない、難しくなるんだよ
598デフォルトの名無しさん
2019/03/23(土) 13:37:38.67ID:v/SrloXk template<typename Item>
Item Fool::InsertItem(const Item& item)
{
//なにがしかの処理
item.c_str()...
}
こんなコード見かけると吐き気がするわ
c_str()を持つ型しか使えないじゃん
なんのためにtemplate使ってんだよw
Item Fool::InsertItem(const Item& item)
{
//なにがしかの処理
item.c_str()...
}
こんなコード見かけると吐き気がするわ
c_str()を持つ型しか使えないじゃん
なんのためにtemplate使ってんだよw
599デフォルトの名無しさん
2019/03/23(土) 13:47:58.81ID:uJTAZAlu c_strを持つ型に限定したいから問題無いけど。
600デフォルトの名無しさん
2019/03/23(土) 13:49:44.59ID:T5eFVdJU 何か変か?
c_strを持っているクラスのみを想定しているんじゃないの
本当はSFINAEで消すべきかも知れないけど
c_strを持っているクラスのみを想定しているんじゃないの
本当はSFINAEで消すべきかも知れないけど
602デフォルトの名無しさん
2019/03/23(土) 14:34:53.50ID:JQCK5flX >>598
程度のはsfinaeでいいんだけどね
程度のはsfinaeでいいんだけどね
603デフォルトの名無しさん
2019/03/23(土) 14:56:23.90ID:EB4wgvrK basic_stringの特殊化に限定するなら文字型を受け取るだけでいいと思うんだけど
604デフォルトの名無しさん
2019/03/23(土) 15:01:12.26ID:fJspHuQc >>598
constexprでコンパイル時に特定のメソッドがあるか調べられないの?
constexprでコンパイル時に特定のメソッドがあるか調べられないの?
605デフォルトの名無しさん
2019/03/23(土) 15:03:42.82ID:EB4wgvrK それは型の情報だから、すでに言われてるようにメタプログラミングでsfinae使って調べるしかない
606デフォルトの名無しさん
2019/03/23(土) 15:55:31.24ID:RdkKrV9k 吐き気がするだけで済んでいるのなら御の字。
607デフォルトの名無しさん
2019/03/23(土) 16:15:35.83ID:T5eFVdJU アレルギーが重症化すると辺境で難癖付けて騒ぎ出したりテンプレート指定すると何故か生産性が落ち出したりするからな
608デフォルトの名無しさん
2019/03/23(土) 17:08:18.78ID:qcSb+DlG pythonみたいにエラーメッセージ表示してくれるだけで大分マシになると思うんだけどな
609デフォルトの名無しさん
2019/03/23(土) 18:52:42.53ID:4cH0E/is そうなんだよね
1500行のエラーメッセージの代わりに「itemのメンバ関数c_str()が見つかりませんでした」ってコンパイラが言ってくれてたら
ここまでテンプレートは嫌われなかった
1500行のエラーメッセージの代わりに「itemのメンバ関数c_str()が見つかりませんでした」ってコンパイラが言ってくれてたら
ここまでテンプレートは嫌われなかった
610デフォルトの名無しさん
2019/03/23(土) 18:54:43.76ID:enzaJQTj だからgoのコード生成系のアプローチのがマシってことなんだが馬鹿は脳内でしかビルドしないから通じない訳だ。
611デフォルトの名無しさん
2019/03/23(土) 19:11:19.55ID:A6OyMWzd これからは定数型プログラミングの時代。
612デフォルトの名無しさん
2019/03/23(土) 19:15:22.30ID:EB4wgvrK >>609
それはC++20でコンセプト入ったら実現されるはず(ライブラリ側で対応する必要あるけど
それはC++20でコンセプト入ったら実現されるはず(ライブラリ側で対応する必要あるけど
613デフォルトの名無しさん
2019/03/23(土) 19:18:48.99ID:iMO+WCpL 過去の話をしてるのに未来の話で返されてもな
614デフォルトの名無しさん
2019/03/23(土) 19:22:34.86ID:A6OyMWzd エラーメッセージがわかりにくいなら、VC++を使うべき。
615デフォルトの名無しさん
2019/03/23(土) 19:26:46.49ID:T5eFVdJU 過去のことなんかどうでもいい
未来だけ見て生きていこう
未来だけ見て生きていこう
616デフォルトの名無しさん
2019/03/23(土) 19:30:40.79ID:EB4wgvrK617デフォルトの名無しさん
2019/03/23(土) 21:03:26.04ID:16DhXZwe >>614
vcはバグだらけで使い物にならない
vcはバグだらけで使い物にならない
618デフォルトの名無しさん
2019/03/23(土) 21:40:53.85ID:eUSVaq66619デフォルトの名無しさん
2019/03/23(土) 22:45:17.73ID:4cH0E/is 今思えばC++0xのコンセプト案はいろいろ酷かったな
あのまま入らなくてよかった
あのまま入らなくてよかった
620デフォルトの名無しさん
2019/03/23(土) 23:17:20.42ID:EB4wgvrK コンセプトマップだとかコンセプトを満たすことを自己申告しなきゃいけないだとか
傍目に見て正直意味わからんかった
傍目に見て正直意味わからんかった
621デフォルトの名無しさん
2019/03/23(土) 23:51:54.14ID:11jhwwP/ Axiomはとてもいいと思ったが、消えたのだな・・・
622デフォルトの名無しさん
2019/03/23(土) 23:53:58.85ID:enzaJQTj >>588
フーリエ変換の係数みたいなものは実行時には定数だけれど、事前に計算式で計算しておきたくはなる。
でもまあ普通に考えればビルド構成の問題だわな。
なぜコンパイラに無理やり突っ込むかと言えばまともにビルド構成を考える能力がないからっていうね。
フーリエ変換の係数みたいなものは実行時には定数だけれど、事前に計算式で計算しておきたくはなる。
でもまあ普通に考えればビルド構成の問題だわな。
なぜコンパイラに無理やり突っ込むかと言えばまともにビルド構成を考える能力がないからっていうね。
623デフォルトの名無しさん
2019/03/23(土) 23:54:27.98ID:4cH0E/is axiomさんは契約アトリビュートとして生まれ変わったのだ
624デフォルトの名無しさん
2019/03/24(日) 00:40:12.28ID:7x4/H6l4 C++の複雑さはオナニー的なところがある
625デフォルトの名無しさん
2019/03/24(日) 01:38:06.52ID:b8r3VMdD コンパイル時に決定してることしかできないなら、コード書く必要あるか?
1+2しか計算できないんだろ、2+3の結果が欲しかったら、コンパイルし直しw
1+2しか計算できないんだろ、2+3の結果が欲しかったら、コンパイルし直しw
626デフォルトの名無しさん
2019/03/24(日) 02:05:19.27ID:xAoD2jBj 狭義のアルゴリズム(有限ステップで終わる)を記述する分にはそれで十分
無限ループを含む手続きを記述したかったら無限再帰すればええ
と考えればメモリが無限にあればコンパイルが終わるまでに任意の処理ができる
無限ループを含む手続きを記述したかったら無限再帰すればええ
と考えればメモリが無限にあればコンパイルが終わるまでに任意の処理ができる
627デフォルトの名無しさん
2019/03/24(日) 02:07:46.29ID:4oYv+rwZ 定数型プログラミングでコンパイラを創ろう。
628はちみつ餃子 ◆8X2XSCHEME
2019/03/24(日) 02:16:59.70ID:9ZLLLplX コンパイル時に畳み込んで定数にした方がよいかどうかはコンパイラの最適化で頑張って欲しい話で、
それで足りない、さらなるチューニングが必要なときの記法が統一的だったらうれしいねっていう程度の話じゃないかな。
普段からそんなにコンパイル時計算を意図したりはしないよ。
それで足りない、さらなるチューニングが必要なときの記法が統一的だったらうれしいねっていう程度の話じゃないかな。
普段からそんなにコンパイル時計算を意図したりはしないよ。
629デフォルトの名無しさん
2019/03/24(日) 02:25:38.27ID:Wmd2CxZH P言語でC++中間コードを生成するスクリプトを書けばいいじゃない。
swigみたいな。
カスタムコンパイルやカスタムビルドはそのためにある。
swigみたいな。
カスタムコンパイルやカスタムビルドはそのためにある。
630デフォルトの名無しさん
2019/03/24(日) 02:33:38.88ID:4oYv+rwZ ヤック、レック相当をメタプログラミングで実現することができるのではないか。
スピリチュアルな方向性ではなく。
スピリチュアルな方向性ではなく。
631はちみつ餃子 ◆8X2XSCHEME
2019/03/24(日) 02:50:04.22ID:9ZLLLplX PEG 相当のことを実現しているライブラリとしては Qi があるけど、
Yacc みたいに LALR をやってくれるのは知らないなぁ。
出来るのかな?
Yacc みたいに LALR をやってくれるのは知らないなぁ。
出来るのかな?
632デフォルトの名無しさん
2019/03/24(日) 03:13:50.09ID:PmamUspu >>628
個人的には、メタプログラミングで定数値のパラメータ作るのに構造体でメタプログラミングする必要が無くなったのはconstexprにかわしゃ
個人的には、メタプログラミングで定数値のパラメータ作るのに構造体でメタプログラミングする必要が無くなったのはconstexprにかわしゃ
■ このスレッドは過去ログ倉庫に格納されています