次スレを立てる時は本文の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
558デフォルトの名無しさん
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にかわしゃ
633デフォルトの名無しさん
2019/03/24(日) 03:16:29.85ID:PmamUspu ごめん間違って送信した、
constexprに感謝してるw
あとビット演算とか整数値の計算する関数もconstexprつけときゃテンプレートパラメータに渡せるし
高速化は二の次だと個人的には思ってる
constexprに感謝してるw
あとビット演算とか整数値の計算する関数もconstexprつけときゃテンプレートパラメータに渡せるし
高速化は二の次だと個人的には思ってる
634デフォルトの名無しさん
2019/03/24(日) 03:23:59.40ID:4oYv+rwZ STLあっての私たち。
635デフォルトの名無しさん
2019/03/24(日) 03:30:27.34ID:b8r3VMdD STLって遅くて使えなくない
636デフォルトの名無しさん
2019/03/24(日) 03:32:16.98ID:4oYv+rwZ 確かに遅いね。
637デフォルトの名無しさん
2019/03/24(日) 03:37:58.18ID:4oYv+rwZ テンプレートメタプログラミングは永久機関。
638デフォルトの名無しさん
2019/03/24(日) 05:16:54.07ID:xAoD2jBj STLにCStringを入れて欲しい
639デフォルトの名無しさん
2019/03/24(日) 05:41:26.93ID:NAaHZN6A 嫌です
640デフォルトの名無しさん
2019/03/24(日) 05:51:09.56ID:0ur1Ot0v 男なら全部char[]
641デフォルトの名無しさん
2019/03/24(日) 06:09:08.25ID:xAoD2jBj sprintf_s()と_cuntof(array)がどこの環境でも標準で使えるならchar[]も悪くない選択肢ではある
642デフォルトの名無しさん
2019/03/24(日) 08:26:16.35ID:3s1WkY0F boost spiritはコンパイルが糞遅いし、何か間違えると何処が原因かさっぱりわからんし、
実用には程遠かったな。テンプレートでここまでできるという一発芸的な。
実用には程遠かったな。テンプレートでここまでできるという一発芸的な。
643デフォルトの名無しさん
2019/03/24(日) 09:20:48.36ID:0R743LPx テンプレートメタプログラミングって元々はアンチパターンとして提出した例だったんだけどね。
本当に愚者というのは度し難いというか。。
本当に愚者というのは度し難いというか。。
644デフォルトの名無しさん
2019/03/24(日) 09:21:19.70ID:EkBj7yKG CStringをこの世から完全に消し去って欲しい
せめてbasic_stringと互換性のあるインターフェースを持たせてからフェードアウトして欲しかった
せめてbasic_stringと互換性のあるインターフェースを持たせてからフェードアウトして欲しかった
645デフォルトの名無しさん
2019/03/24(日) 09:23:21.86ID:Wmd2CxZH CStringT::Format()系関数は、sprintf()系関数を2回呼ぶので冗長。
利用バッファサイズを事前に指定できないことが原因。
利用バッファサイズを事前に指定できないことが原因。
646デフォルトの名無しさん
2019/03/24(日) 09:27:05.22ID:EkBj7yKG647デフォルトの名無しさん
2019/03/24(日) 10:26:38.44ID:a59b/YMZ CStringってなに?
648さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/24(日) 10:31:25.24ID:SVMO04Wq CStringは、Windows用のC++のクラスライブラリ、MFCの文字列クラス。
649デフォルトの名無しさん
2019/03/24(日) 10:45:02.21ID:myNgr9GS650デフォルトの名無しさん
2019/03/24(日) 10:47:24.53ID:0ur1Ot0v 便利さを求めるならなんかフレームワーク使えよ
軽さを求めるならchar配列でゴリゴリ書けよ
軽さを求めるならchar配列でゴリゴリ書けよ
651デフォルトの名無しさん
2019/03/24(日) 10:52:30.12ID:EkBj7yKG 性能も利便性も標準より低いフレームワークさん・・・
652デフォルトの名無しさん
2019/03/24(日) 11:06:49.87ID:Wmd2CxZH >>649
素直にsnprintf()のように最大バッファサイズを指定するオーバーライド関数を追加すべきでしょ。
CStringT::Format()関数を呼び出す側は、あらかじめサイズを予想できる状況にあることが多い。
素直にsnprintf()のように最大バッファサイズを指定するオーバーライド関数を追加すべきでしょ。
CStringT::Format()関数を呼び出す側は、あらかじめサイズを予想できる状況にあることが多い。
653デフォルトの名無しさん
2019/03/24(日) 11:52:04.64ID:0R743LPx >>646
天上人のつもりなのがそもそもの問題なんだがな。。
最近の標準委員は明らかにプログラム組んでなさそうな連中が決めてるような感じだし。
c++なんかは顕著だがそういうマウントの取り合いによる新機能拡充が一番現場を疲弊させてるっていうことを
なんでわからんかね。
天上人のつもりなのがそもそもの問題なんだがな。。
最近の標準委員は明らかにプログラム組んでなさそうな連中が決めてるような感じだし。
c++なんかは顕著だがそういうマウントの取り合いによる新機能拡充が一番現場を疲弊させてるっていうことを
なんでわからんかね。
654デフォルトの名無しさん
2019/03/24(日) 11:52:05.81ID:EHuBBnjq MFCが出来た頃のstd::stringはそりゃまあ酷いシロモノだったんじゃ
あまりCStringを責める気にはなれん
あまりCStringを責める気にはなれん
655デフォルトの名無しさん
2019/03/24(日) 11:55:08.60ID:DVu1xjKe いくらリリース時に型がすべて決まってるはずと言ったってDRYはそれなりに大事だろ
656デフォルトの名無しさん
2019/03/24(日) 12:01:45.23ID:rLn5TxmP >>653
標準化委員会の議論とまともに論理的な議論のできない5chを同一レベルで扱うなよ
標準化委員会の議論とまともに論理的な議論のできない5chを同一レベルで扱うなよ
657デフォルトの名無しさん
2019/03/24(日) 12:05:08.13ID:4oYv+rwZ しかし旧石器時代にSTLが作られたことを思うと、オーパーツと言ってよいのではないか。
数学的に洗練されたこの美しさ。
古代人は数学が得意だったのでは。
数学的に洗練されたこの美しさ。
古代人は数学が得意だったのでは。
■ このスレッドは過去ログ倉庫に格納されています
