次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://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++相談室 part138
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スフッ Sd9f-fGne)
2018/08/05(日) 18:02:36.57ID:DigzqJtZd220デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/08/31(土) 23:48:26.00ID:toQMNfCu0221デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/08/31(土) 23:50:56.76ID:toQMNfCu0 大体1の方しかなかったら、無駄にヒープ使われるだけで、それこそ望む挙動にならないような
222デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/01(日) 00:08:04.65ID:gzRpR9B40 SFINAEで対応とか、c++のオーバーロード、ならびにrvalue周りの仕様を
全部読み、かつ現実のソースをすべて読むのにどれだけの物量かかるか少しも想像してないんだろう。
全部読み、かつ現実のソースをすべて読むのにどれだけの物量かかるか少しも想像してないんだろう。
223デフォルトの名無しさん (ワッチョイ d1b3-cRT5)
2019/09/01(日) 00:10:55.48ID:glhkS+QQ0 >>219
いや、悪意ある例と書いたけど
どう確保したかに関数側が興味ないのであれば&特殊な用途でなければ素直にポインタでいいし
>>216で挙げたPolymorphic Resource使えばテンプレートにする必要すら無いんだけどね(実際めっちゃ便利)
標準ヒープを前提にした設計&サンプルコードなんかの綺麗な例のようなSTLの使い方しか
したことない初心者には全くそういう問題が想像つかないんだろうなと言いたかった
テンプレート使って設計するのはめっちゃ時間かかるし、そこまでする価値があるのかどうかというのは
今どきのC++でのコーディングには避けられない重要な判断だと思う
(そういう判断放棄して古臭い書き方してる職場が多いのは、決しておかしな話ではない)
>>220
>SFINAEで制限
まぁその方が理想的なんだろうね(ある程度差異を吸収する関数はあるし)
いや、悪意ある例と書いたけど
どう確保したかに関数側が興味ないのであれば&特殊な用途でなければ素直にポインタでいいし
>>216で挙げたPolymorphic Resource使えばテンプレートにする必要すら無いんだけどね(実際めっちゃ便利)
標準ヒープを前提にした設計&サンプルコードなんかの綺麗な例のようなSTLの使い方しか
したことない初心者には全くそういう問題が想像つかないんだろうなと言いたかった
テンプレート使って設計するのはめっちゃ時間かかるし、そこまでする価値があるのかどうかというのは
今どきのC++でのコーディングには避けられない重要な判断だと思う
(そういう判断放棄して古臭い書き方してる職場が多いのは、決しておかしな話ではない)
>>220
>SFINAEで制限
まぁその方が理想的なんだろうね(ある程度差異を吸収する関数はあるし)
224デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/09/01(日) 00:12:31.04ID:JdN5NInb0 仕様全てとは言わんが、書くなら関連する仕様くらい押さえておけってだけだろう。
書けない人材でも、そのライブラリを使うのには支障無いだろ
書けない人材でも、そのライブラリを使うのには支障無いだろ
225デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/09/01(日) 00:17:20.70ID:JdN5NInb0 string_view的なもので実装書いて、他のは適当に切り分けてtemplateも必要に応じて使いつつoverloadで変換して実装呼ぶみたいなのはよくやる
そう言うのが多過ぎて面倒なら、パラメーター受け用のクラス作って受けたい元クラスから作るコンストラクタで変換するってのもあるし
そう言うのが多過ぎて面倒なら、パラメーター受け用のクラス作って受けたい元クラスから作るコンストラクタで変換するってのもあるし
226デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/01(日) 00:24:30.79ID:gzRpR9B40 >>224
c++の場合、まともにオーバーロードの仕様を抑えてる奴などおらん。
てかコンパイラ作る方も理解が薄いんじゃないかと思うレベルでバグ入れ込む話だぞ。
実際に仕様読むと増築につぐ増築でまともな仕様とは思わなくなる。
簡単だと主張する輩というのは仕様を読んでないか、もしくは江添みたく仕事の関係で後に引けないやつかしかおらんってことだ。
c++の場合、まともにオーバーロードの仕様を抑えてる奴などおらん。
てかコンパイラ作る方も理解が薄いんじゃないかと思うレベルでバグ入れ込む話だぞ。
実際に仕様読むと増築につぐ増築でまともな仕様とは思わなくなる。
簡単だと主張する輩というのは仕様を読んでないか、もしくは江添みたく仕事の関係で後に引けないやつかしかおらんってことだ。
227デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/09/01(日) 00:29:27.92ID:JdN5NInb0 ADL含めたらややこし過ぎるが
そんなの普通は使わんだろ
名前空間指定してその中のオーバーロード使わせるのがまともなやり方
そんなの普通は使わんだろ
名前空間指定してその中のオーバーロード使わせるのがまともなやり方
228デフォルトの名無しさん (ワッチョイ d1b3-cRT5)
2019/09/01(日) 01:57:39.74ID:glhkS+QQ0 ID:9yJw5XoJ0は逃げたんだろうか・・・・ツマンネ
229デフォルトの名無しさん (アウアウエー Sa23-ca7b)
2019/09/01(日) 02:04:06.84ID:sYwYgS29a >>200
「全部入り」と言いつつcodecvtを入れた香具師は死刑
「全部入り」と言いつつcodecvtを入れた香具師は死刑
230デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/01(日) 02:25:38.80ID:dVOEDPtu0 便所の落書き見て経験豊富と思うのはさすがに草
231デフォルトの名無しさん (ワッチョイ 132c-cmxz)
2019/09/01(日) 08:56:38.65ID:XF6G4Ohn0 実引数依存の名前探索 (じつひきすういぞんのなまえたんさく、ADL)とは、
C++において関数呼出時に与えられた引数の型に依存して、
呼び出す関数を探索 (lookup)する仕組みのことである
英語ではKoenig lookup、argument dependent lookup (ADL)、argument dependent name lookupなどと呼ばれる。
なお、Koenig lookupとは、この仕組みをAndrew Koenigが提案したことにちなむ
Koenigは、C Traps and Pitfalls(Cプログラミングの落とし穴)を、1989年に書いてる。
ADLは、Koenigが発明したのではないけど、標準委員会を説得したのは彼らしい
たぶん、ここまで詳しいのは、江添の本にしか書いてないだろう
C++において関数呼出時に与えられた引数の型に依存して、
呼び出す関数を探索 (lookup)する仕組みのことである
英語ではKoenig lookup、argument dependent lookup (ADL)、argument dependent name lookupなどと呼ばれる。
なお、Koenig lookupとは、この仕組みをAndrew Koenigが提案したことにちなむ
Koenigは、C Traps and Pitfalls(Cプログラミングの落とし穴)を、1989年に書いてる。
ADLは、Koenigが発明したのではないけど、標準委員会を説得したのは彼らしい
たぶん、ここまで詳しいのは、江添の本にしか書いてないだろう
232デフォルトの名無しさん (アウウィフ FF55-ca7b)
2019/09/01(日) 10:09:22.81ID:kCJZVLuHF Cは使い続ける意味はあるが
C++には未来はないよ
そういう使い方したい人は
Dを使えば良いんじゃないかな
C++には未来はないよ
そういう使い方したい人は
Dを使えば良いんじゃないかな
233デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/01(日) 11:24:12.52ID:gzRpR9B40234デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/09/01(日) 13:27:19.06ID:JdN5NInb0235デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/01(日) 13:30:51.42ID:gzRpR9B40236デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/09/01(日) 13:35:43.01ID:JdN5NInb0 overloadは使うだろ?
overloadはする側が管理するため空間分けるってのは至極当然な話では?
overloadはする側が管理するため空間分けるってのは至極当然な話では?
237デフォルトの名無しさん (ワッチョイ 6961-hioB)
2019/09/01(日) 16:35:53.77ID:fkwlplII0238デフォルトの名無しさん (スッップ Sd33-n2vT)
2019/09/01(日) 17:04:46.72ID:/4drLZDyd 推奨しない理由がgrepっておかしくね?
ちゃんと参照を解析できるIDE使えばいいやん
本質からずれてる
ちゃんと参照を解析できるIDE使えばいいやん
本質からずれてる
239デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/01(日) 18:44:20.18ID:dVOEDPtu0 何でgrep上手くできなくなるんだ?
240デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/01(日) 19:56:31.21ID:YvMNWW8O0 まあ使うも使わないも自由だが、あまり文法的なことばかりにこだわらない方がいい。
言い方を変えれば、「プログラミングの達人」と「C++言語の達人」は別なことを認識した方がいい。
「C++言語特有の機能」を使いこなせれば「C++言語の達人」ではあるだろう。
しかし、それは「プログラミングの達人」ではない。
「プログラミングの達人」なら当然「他言語を使っても達人」であり、
それは「言語非依存部分での圧倒的な巧さ」によるものだ。
単純に言えば、「ああ、こうすればこんなに簡単に実装できるのか」を繰り返してる。
C++特有の機能、つまりテンプレートやオーバーロードをいくら使いこなしてもここには到達できない。
それらは無ければ無いで何とかなる程度のものでしかなく、所詮はソースコードの整形でしかない。
それらをどれだけ使いこなしても本質的な構造の改善には繋がらない。
休日に5chに来てプログラミング談義に参加するような奴は、
モチベーションはあり、これは素晴らしい。上達も(本来は)するだろう。
ただ、最近は脱線している奴を多く見かける。
そして、無駄にやる気だけはあるから、おかしな議論で永久ループしてしまっている。
「言語非依存部分での腕前の差」を認識できないうちは、文法的なことにばかりこだわらない方がいい。
「C++言語の達人」ではなく「プログラミングの達人」を目指すなら、それは完全に空回りでしかない。
俺が見る限り、どの言語で始めてもどうやらそれなりにくだらない議論をやってる。
Javaの初学者は必要もないところでクラスを作って継承をこねくり回してる。
JavaScriptの初学者はセミコロンを打つか打たないかで議論してる。
C++の初学者はC++の無駄に複雑な言語仕様、特にテンプレート周りに惹かれるようだ。
ただ、これらを使いこなしても「プログラミング」そのものの上達はしない。
本来の「プログラミング」、つまり「言語非依存部分」での上達にフォーカスした方がいい。
そうであれば、C++が死んだら死んだで、あっそう、でしかない。
(俺はRustではC++を殺しきれないと見ているが)
言い方を変えれば、「プログラミングの達人」と「C++言語の達人」は別なことを認識した方がいい。
「C++言語特有の機能」を使いこなせれば「C++言語の達人」ではあるだろう。
しかし、それは「プログラミングの達人」ではない。
「プログラミングの達人」なら当然「他言語を使っても達人」であり、
それは「言語非依存部分での圧倒的な巧さ」によるものだ。
単純に言えば、「ああ、こうすればこんなに簡単に実装できるのか」を繰り返してる。
C++特有の機能、つまりテンプレートやオーバーロードをいくら使いこなしてもここには到達できない。
それらは無ければ無いで何とかなる程度のものでしかなく、所詮はソースコードの整形でしかない。
それらをどれだけ使いこなしても本質的な構造の改善には繋がらない。
休日に5chに来てプログラミング談義に参加するような奴は、
モチベーションはあり、これは素晴らしい。上達も(本来は)するだろう。
ただ、最近は脱線している奴を多く見かける。
そして、無駄にやる気だけはあるから、おかしな議論で永久ループしてしまっている。
「言語非依存部分での腕前の差」を認識できないうちは、文法的なことにばかりこだわらない方がいい。
「C++言語の達人」ではなく「プログラミングの達人」を目指すなら、それは完全に空回りでしかない。
俺が見る限り、どの言語で始めてもどうやらそれなりにくだらない議論をやってる。
Javaの初学者は必要もないところでクラスを作って継承をこねくり回してる。
JavaScriptの初学者はセミコロンを打つか打たないかで議論してる。
C++の初学者はC++の無駄に複雑な言語仕様、特にテンプレート周りに惹かれるようだ。
ただ、これらを使いこなしても「プログラミング」そのものの上達はしない。
本来の「プログラミング」、つまり「言語非依存部分」での上達にフォーカスした方がいい。
そうであれば、C++が死んだら死んだで、あっそう、でしかない。
(俺はRustではC++を殺しきれないと見ているが)
241デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/01(日) 20:33:49.80ID:47WV1H3R0 途中まで、何かもっともらしく聞こえるが
結局、C++の特定の機能を否定したいだけな下心が隠せてないな
結局、C++の特定の機能を否定したいだけな下心が隠せてないな
242デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/01(日) 20:49:51.00ID:gzRpR9B40 そりゃ無駄なことで労力使うことになる機能なんてなくなりゃいいと思うわ。
バカは他の人間が苦労してるのがうれしいのだろうが。
バカは他の人間が苦労してるのがうれしいのだろうが。
243デフォルトの名無しさん (アウアウカー Saad-xKLN)
2019/09/01(日) 22:09:50.79ID:da3V292Da C++から入れば他言語で当たり前に使われてるRTTIやリフレクションがおかしなものか分かる
244デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/01(日) 23:08:41.79ID:YvMNWW8O0 >>241
君がどこを目指すかは君の自由だが、「プログラミングの達人」のつもりなら、
君らが馬鹿にする「C限定」「C++98限定」縛りでも他の凡人とは明確に差を付けられなければいけない。
それが出来ないのなら、君は「プログラミングの達人」ではない。
ただ、新しい記述は古い記述の問題点を修正したものであるのは事実なので、
その問題に直面しているのに新しい記述を拒絶するのは、老害だと馬鹿にしていい。
といっても、当然だが基本/必要不可欠な部分から整備するので、
最近のC++に入っている仕様はかなり屋上屋を架す状態になっているのも事実だろ。
googleのルールがC++11を基本としているのもこれが遠因にある。
C++のスレが歪んでいるのは、住人がこの辺の「ちょっと考えれば分かること」を認めないからだ。
はちみつ餃子(コテ名)なんて、リアルの友人に職業マ(ゲーム)が居て色々聞いてみて、
「プロでも最近の仕様には疎いんだよなー」とか愚痴ってたろ。
そこでアマチュアであるはちみつ餃子が正しくプロが間違っている、と認識する点が狂ってる。
そしてこのタイプの人間がC++スレには割と多い。
C++が一番使われているのはゲーム業界だと思うが、これは単純に速度が速いからだ。
そしてゲーム業界が直面している問題は(ちと古いが)例えば以下であり、要するにOOPの限界とかだ。
OOPはコードを綺麗にまとめる手段ではあるが、速度は大概遅くなる方向だからだ。
https://sites.google.com/site/shunichisnote/translations/data-oriented-design
そして当たり前だがC++の新機能なんてこれに対する解を提供するものでは全くない。
結果、C++のゲームプログラマはC++の新機能なんて知る意味がないから、無視または受動的となる。
これもちょっと考えれば分かることだと思うんだがな。
プログラマ=料理人に対して、包丁職人=C++の達人も必要であり、
それを目指すなら、新機能を使えること=上達だと考えるのは正しい。
でもそうでない場合、早い段階でこの認識は改めた方がいい。
君がどこを目指すかは君の自由だが、「プログラミングの達人」のつもりなら、
君らが馬鹿にする「C限定」「C++98限定」縛りでも他の凡人とは明確に差を付けられなければいけない。
それが出来ないのなら、君は「プログラミングの達人」ではない。
ただ、新しい記述は古い記述の問題点を修正したものであるのは事実なので、
その問題に直面しているのに新しい記述を拒絶するのは、老害だと馬鹿にしていい。
といっても、当然だが基本/必要不可欠な部分から整備するので、
最近のC++に入っている仕様はかなり屋上屋を架す状態になっているのも事実だろ。
googleのルールがC++11を基本としているのもこれが遠因にある。
C++のスレが歪んでいるのは、住人がこの辺の「ちょっと考えれば分かること」を認めないからだ。
はちみつ餃子(コテ名)なんて、リアルの友人に職業マ(ゲーム)が居て色々聞いてみて、
「プロでも最近の仕様には疎いんだよなー」とか愚痴ってたろ。
そこでアマチュアであるはちみつ餃子が正しくプロが間違っている、と認識する点が狂ってる。
そしてこのタイプの人間がC++スレには割と多い。
C++が一番使われているのはゲーム業界だと思うが、これは単純に速度が速いからだ。
そしてゲーム業界が直面している問題は(ちと古いが)例えば以下であり、要するにOOPの限界とかだ。
OOPはコードを綺麗にまとめる手段ではあるが、速度は大概遅くなる方向だからだ。
https://sites.google.com/site/shunichisnote/translations/data-oriented-design
そして当たり前だがC++の新機能なんてこれに対する解を提供するものでは全くない。
結果、C++のゲームプログラマはC++の新機能なんて知る意味がないから、無視または受動的となる。
これもちょっと考えれば分かることだと思うんだがな。
プログラマ=料理人に対して、包丁職人=C++の達人も必要であり、
それを目指すなら、新機能を使えること=上達だと考えるのは正しい。
でもそうでない場合、早い段階でこの認識は改めた方がいい。
245デフォルトの名無しさん (ワッチョイ 99c3-mBEq)
2019/09/01(日) 23:27:53.27ID:JdN5NInb0 ある機能を使わない理由が知らないからで、結果無駄な労力かけている
知らない理由を正当化しようと、知る前から役に立たないとか抽象的な理屈で断定するのは逃げでしかないんだよね
まあ言語仕様なんてアセンブラがあればなんでもできる
色々な言語があって、それぞれ独自に進化しているのは、結局みんな楽をしたいからなんだよ
手を動かす方で楽をするためには知識と知恵が必要で、知識を得るためには勉強が必要
まあ知識だけ入れても使いこなす知恵がないと無意味なのだけど
知らない理由を正当化しようと、知る前から役に立たないとか抽象的な理屈で断定するのは逃げでしかないんだよね
まあ言語仕様なんてアセンブラがあればなんでもできる
色々な言語があって、それぞれ独自に進化しているのは、結局みんな楽をしたいからなんだよ
手を動かす方で楽をするためには知識と知恵が必要で、知識を得るためには勉強が必要
まあ知識だけ入れても使いこなす知恵がないと無意味なのだけど
246デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/01(日) 23:28:14.32ID:dVOEDPtu0 ゲームなんて子供のおもちゃとかどうでもよくて草
247デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/02(月) 00:21:05.86ID:qlCCPxCU0 >>243
リフレクションは動的→静的変換には必要ではある。
ただし動は動で組む、というのがC流ではある。(リフレクションがない世界だったから当然ではあるが)
といってもリフレクションありならだいぶ楽に書けるのも事実で、
.NET(WPF)はこの部分だけはフレームワークが自動的にリフレクションしてくれることになっている。
RTTIはgoogleは「必要になるのは設計ミスだ」という見解であり、確かにこれは事実だが、
https://ttsuki.github.io/styleguide/cppguide.ja.html#Run-Time_Type_Information__RTTI_
RTTIを使っていいのなら手抜きなパッチをサクッと当てられるのもまた事実だ。
(RTTIありなら1行で済むのが、無しでvirtualで対応なら新規クラス追加になってしまう)
ここら辺は結局のところ、どのコード品質まで許容するか、であり、
当然体面は「常に今現在の仕様で最高のコードにしておけ」な訳だが、
現実的に「そんなん出来るかバカヤロー」である程度デタラメなパッチも許容するのなら話は変わってくる。
だからこの辺は「無くても実装は出来るし、困らない」のを認識した上で、
どこまで手抜きを許容するか、だと思う。
>>245
それは俺に向けたものではないと思うから補足になるが、
俺はそれに関してはC++ではなく他言語をやった方がいいと思ってる。
現状、手抜きに関してはLL言語の方が数段上で、C++は完全に周回遅れだ。
クロージャ採用も今更だし、リフレクション等も他言語で普通に学べる。
(それを使うかどうかはまた別として)
今現在、C++でしか学べない事って、
C++固有案件(テンプレートをこねくり回すこと等)以外にはないよね?
C++が先頭切って導入しようとしている事ってあったっけ?
リフレクションは動的→静的変換には必要ではある。
ただし動は動で組む、というのがC流ではある。(リフレクションがない世界だったから当然ではあるが)
といってもリフレクションありならだいぶ楽に書けるのも事実で、
.NET(WPF)はこの部分だけはフレームワークが自動的にリフレクションしてくれることになっている。
RTTIはgoogleは「必要になるのは設計ミスだ」という見解であり、確かにこれは事実だが、
https://ttsuki.github.io/styleguide/cppguide.ja.html#Run-Time_Type_Information__RTTI_
RTTIを使っていいのなら手抜きなパッチをサクッと当てられるのもまた事実だ。
(RTTIありなら1行で済むのが、無しでvirtualで対応なら新規クラス追加になってしまう)
ここら辺は結局のところ、どのコード品質まで許容するか、であり、
当然体面は「常に今現在の仕様で最高のコードにしておけ」な訳だが、
現実的に「そんなん出来るかバカヤロー」である程度デタラメなパッチも許容するのなら話は変わってくる。
だからこの辺は「無くても実装は出来るし、困らない」のを認識した上で、
どこまで手抜きを許容するか、だと思う。
>>245
それは俺に向けたものではないと思うから補足になるが、
俺はそれに関してはC++ではなく他言語をやった方がいいと思ってる。
現状、手抜きに関してはLL言語の方が数段上で、C++は完全に周回遅れだ。
クロージャ採用も今更だし、リフレクション等も他言語で普通に学べる。
(それを使うかどうかはまた別として)
今現在、C++でしか学べない事って、
C++固有案件(テンプレートをこねくり回すこと等)以外にはないよね?
C++が先頭切って導入しようとしている事ってあったっけ?
248デフォルトの名無しさん (ワッチョイ d1b3-cRT5)
2019/09/02(月) 01:57:52.96ID:AXKQdh3S0 >>244
業界経験者としても概ね同意
ただリンク先読むと、さすがにOOPとデータ主導(と速度)を両立できないのは
さすがに設計力不足だと思う(実際日本のゲーム会社は海外と比べてOOPの浸透率が低い)
枝葉末節にこだわって大局が見れてないんだろうな(このスレ見ててもわかるように)
>>245
>ある機能を使わない理由が知らないからで、結果無駄な労力かけている
>知らない理由を正当化しようと、知る前から役に立たないとか抽象的な理屈で断定するのは逃げでしかないんだよね
過去レス読む限り総称的なプログラミングには精通してる人のようだけど
さすがに↑の2行は思い上がりすぎだと思うよ、自分で読み直してみ
>手を動かす方で楽をするためには知識と知恵が必要で、知識を得るためには勉強が必要
人の時間は有限だよ
あとここでよく挙げられるEASTLの開発動機の和訳
ttp://i-saint.hatenabl○g.com/entry/20101012/1286822888
の、Game software issuesの項を読め
業界経験者としても概ね同意
ただリンク先読むと、さすがにOOPとデータ主導(と速度)を両立できないのは
さすがに設計力不足だと思う(実際日本のゲーム会社は海外と比べてOOPの浸透率が低い)
枝葉末節にこだわって大局が見れてないんだろうな(このスレ見ててもわかるように)
>>245
>ある機能を使わない理由が知らないからで、結果無駄な労力かけている
>知らない理由を正当化しようと、知る前から役に立たないとか抽象的な理屈で断定するのは逃げでしかないんだよね
過去レス読む限り総称的なプログラミングには精通してる人のようだけど
さすがに↑の2行は思い上がりすぎだと思うよ、自分で読み直してみ
>手を動かす方で楽をするためには知識と知恵が必要で、知識を得るためには勉強が必要
人の時間は有限だよ
あとここでよく挙げられるEASTLの開発動機の和訳
ttp://i-saint.hatenabl○g.com/entry/20101012/1286822888
の、Game software issuesの項を読め
249デフォルトの名無しさん (ワッチョイ d1b3-cRT5)
2019/09/02(月) 02:25:50.18ID:AXKQdh3S0 ただまぁ、正直コンセプトが導入されたり他の理由で
総称的プログラミングが浸透する可能性は否定しないけどね
しかし自分の払った学習コストを正当化したいがために
学習コストまたは開発コストの増大を危惧する人を「不勉強」と貶すアマチュアの声が一番大きい言語だったら
C++に未来は無いだろうな(すでに無いという声もあるけど)
総称的プログラミングが浸透する可能性は否定しないけどね
しかし自分の払った学習コストを正当化したいがために
学習コストまたは開発コストの増大を危惧する人を「不勉強」と貶すアマチュアの声が一番大きい言語だったら
C++に未来は無いだろうな(すでに無いという声もあるけど)
250デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/02(月) 02:58:32.09ID:x3GPTWQz0 自演すんなゴミ
251デフォルトの名無しさん (ワッチョイ 313c-G0dn)
2019/09/02(月) 03:37:36.21ID:GDA/xmbY0 俺も自演と思ったw
文の長さ、漢字と平仮名のバランス、使う単語、全部似てるんだよね
自演と分かってないなら何かの病気を疑うレベル
それともC++使うとこうなってしまうのか?
長すぎるエラーばっかり見てるのも困りもんだな
文の長さ、漢字と平仮名のバランス、使う単語、全部似てるんだよね
自演と分かってないなら何かの病気を疑うレベル
それともC++使うとこうなってしまうのか?
長すぎるエラーばっかり見てるのも困りもんだな
253デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/02(月) 06:35:03.03ID:zdMRmPOK0 長文で必死こくやつは余裕のなさが丸見えだ
それこそ言語に振り回されて及び腰になっている自分を恥じるあまり
防衛反射で攻撃的になっているだけだろ馬鹿馬鹿しい
それこそ言語に振り回されて及び腰になっている自分を恥じるあまり
防衛反射で攻撃的になっているだけだろ馬鹿馬鹿しい
254デフォルトの名無しさん (ワッチョイ d1b3-cRT5)
2019/09/02(月) 06:54:39.30ID:AXKQdh3S0 何言ってるか全くわからんが
とりあえずいつもの基地外が一人でファビョってんのは伝わってきた
とりあえずいつもの基地外が一人でファビョってんのは伝わってきた
255デフォルトの名無しさん (ワッチョイ 6961-hioB)
2019/09/02(月) 07:11:23.77ID:CuenWXUR0 >>239
func(const char *)とfunc(int)のようなものが10種類くらい有った場合、
func という名前で検索するだけでは目的のものが検索できない。
さらに、どの関数が呼び出されているかが分かりにくくなりバグの原因に成り易い。
例えば、func(int)とfunc(char)が有った場合、
func('A'+1)と書いた場合に、intとcharのどちらが呼び出されるかが混乱を
招きやすい。例えばの話、もっと複雑になって、+演算子が operator+()
によってオーバーライド(オーバーロードではない)されていた場合、
どうなるかとか。
func(const char *)とfunc(int)のようなものが10種類くらい有った場合、
func という名前で検索するだけでは目的のものが検索できない。
さらに、どの関数が呼び出されているかが分かりにくくなりバグの原因に成り易い。
例えば、func(int)とfunc(char)が有った場合、
func('A'+1)と書いた場合に、intとcharのどちらが呼び出されるかが混乱を
招きやすい。例えばの話、もっと複雑になって、+演算子が operator+()
によってオーバーライド(オーバーロードではない)されていた場合、
どうなるかとか。
256デフォルトの名無しさん (ワッチョイ 6961-hioB)
2019/09/02(月) 07:12:36.17ID:CuenWXUR0 >>253
長文の人は知的な人が多い。短文の人は女子高生の略語みたいに馬鹿な人が多い。
長文の人は知的な人が多い。短文の人は女子高生の略語みたいに馬鹿な人が多い。
257デフォルトの名無しさん (ワッチョイ 6961-hioB)
2019/09/02(月) 07:17:14.85ID:CuenWXUR0258デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/02(月) 07:25:53.20ID:zdMRmPOK0259デフォルトの名無しさん (ワッチョイ 6961-hioB)
2019/09/02(月) 07:26:46.74ID:CuenWXUR0 >>258
ちなみに俺は現実世界では天才と言われている。
ちなみに俺は現実世界では天才と言われている。
260デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/02(月) 07:26:49.57ID:zdMRmPOK0261デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/02(月) 08:35:59.22ID:x3GPTWQz0 知的な人は2ちゃんで3行以上書かない
262デフォルトの名無しさん (ワッチョイ d11f-Q6Uj)
2019/09/02(月) 10:03:26.80ID:YCtAAlQo0 そもそも5chに・・・
263デフォルトの名無しさん (ワッチョイ 69e3-hioB)
2019/09/02(月) 12:17:50.58ID:teg1e9jO0264デフォルトの名無しさん (ササクッテロ Sp5d-G0dn)
2019/09/02(月) 12:37:08.37ID:LddXNwm9p265デフォルトの名無しさん (ワッチョイ 6961-hioB)
2019/09/02(月) 16:40:42.89ID:CuenWXUR0 >>264
ケース・バイ・ケースだが、例えばの話、dump(int a)が呼び出されていると
思っていたら、dump(char c)が呼び出されていてせっかくのデバッグ情報
すら混乱してしまう可能性も有るかもしれない。入れ替わっても特に問題ない
場合も有るが、それは作り方による。余り変化が大きいようなものを
overloadだけで済ますと無駄な悩み事を増やしてしまうかもしれない。
ケース・バイ・ケースだが、例えばの話、dump(int a)が呼び出されていると
思っていたら、dump(char c)が呼び出されていてせっかくのデバッグ情報
すら混乱してしまう可能性も有るかもしれない。入れ替わっても特に問題ない
場合も有るが、それは作り方による。余り変化が大きいようなものを
overloadだけで済ますと無駄な悩み事を増やしてしまうかもしれない。
266デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/02(月) 17:06:35.32ID:zdMRmPOK0 だからC++はバカには使えないんだってば
267デフォルトの名無しさん (アウアウカー Saad-xKLN)
2019/09/02(月) 17:26:28.34ID:4bqxa4g+a 明示的にするためにcastがあるんだろ
268デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/02(月) 20:05:16.70ID:Nnmxzjdz0 理性をもって使えば重火器も問題ないわけで銃解禁
というのは明らかに間違ってるわけで
メリットデメリットをちゃんと考えてんのかよって話なんだよ。
というのは明らかに間違ってるわけで
メリットデメリットをちゃんと考えてんのかよって話なんだよ。
269デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/02(月) 20:22:15.08ID:x3GPTWQz0270デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/02(月) 22:54:18.80ID:qlCCPxCU0 >>248
リンク先のは多分、綺麗なOOP(意識高い系OOP)を目指しすぎた結果だと思う。
ソースコードの品質『だけ』を目指した場合、そりゃそうなる、というのをやっている。
ソースコードの品質は一般的に
・長期的保守性(つまり可読性)
・仕様変更に対する強さ(というより不感度)
・ソースコードの流用性
(他に持って行っても使える度合い≒自身内部で流用出来ればコード削減に繋がる)
が重要だとされるはずだけど、これには、
・値配列ではなく、ポインタ配列
・インスタンスは纏めて取るなんてやらず、一つ一つnewする
・配列は固定長なんて止めて全部自動可変長にする
・全部virtual
みたいに、JavaやLL言語の方向性で行った方が断然いい。
ただ、こういう無駄をいちいち外す事によりC++の高速性は成り立っているのだから、
ソースコードの品質『だけ』を目指した「綺麗なOOP」をやりすぎるとそれはゲームには向かない。
30年後に赤の他人が読む可能性もあるJavaと同じ土俵で議論するのが馬鹿げてる。
リンク先のは多分、綺麗なOOP(意識高い系OOP)を目指しすぎた結果だと思う。
ソースコードの品質『だけ』を目指した場合、そりゃそうなる、というのをやっている。
ソースコードの品質は一般的に
・長期的保守性(つまり可読性)
・仕様変更に対する強さ(というより不感度)
・ソースコードの流用性
(他に持って行っても使える度合い≒自身内部で流用出来ればコード削減に繋がる)
が重要だとされるはずだけど、これには、
・値配列ではなく、ポインタ配列
・インスタンスは纏めて取るなんてやらず、一つ一つnewする
・配列は固定長なんて止めて全部自動可変長にする
・全部virtual
みたいに、JavaやLL言語の方向性で行った方が断然いい。
ただ、こういう無駄をいちいち外す事によりC++の高速性は成り立っているのだから、
ソースコードの品質『だけ』を目指した「綺麗なOOP」をやりすぎるとそれはゲームには向かない。
30年後に赤の他人が読む可能性もあるJavaと同じ土俵で議論するのが馬鹿げてる。
271デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/02(月) 22:55:33.55ID:qlCCPxCU0 >>249
> 学習コストまたは開発コストの増大を危惧する人を「不勉強」と貶すアマチュアの声が一番大きい言語だったら
> C++に未来は無いだろうな(すでに無いという声もあるけど)
多分これはない。
おそらくC++は積み上げ型の学習(=ここまで出来た!)をしたい奴にとっては
「項目がやたらある」という意味で居心地がいいんだ。
だからここ5ch(数の上での主力はモチベーションの高いアマチュア)には妙な奴が集まることになる。
K&Rはあっさりしすぎてて、読んでも彼等は何をすればいいのか全くピンと来ない。
だから彼等はCを貶す。
とはいえ、現実のゲームプログラマの大半は休日はのびてるだろうし、ここの動向とは全く別だと思う。
が、まあ、これはさておき、
現実的にC++が提供している「ゴリゴリにマニュアルチューニング可能」が出来る言語が他にない。
よってゲームプログラマをはじめとして最高速が求められる領域、今ならMLとかもそうだと思うが、
これらにはC/C++しかない。
ところがCは全くやる気がなく、現実的にはC++しかない。
現状C++の代替となる可能性の最有力はRustだが、
C++が全部入りを目指す以上、Rustが出来ることは「C++とゴリゴリのリンター」で出来る範囲でしかなく、
結果的にRustコンパイラ自体が「C++のリンター」になって終わるのではないかと俺は見ている。
なお学習コストも考えて取捨選別して生産性を高めようとしているのはC#だが、
結果的にJavaとダダ被りすぎ、そしてJavaが死ぬことは今のところあり得ないから、
死ぬならC#になってしまっている。これも残念なことだ。
> 学習コストまたは開発コストの増大を危惧する人を「不勉強」と貶すアマチュアの声が一番大きい言語だったら
> C++に未来は無いだろうな(すでに無いという声もあるけど)
多分これはない。
おそらくC++は積み上げ型の学習(=ここまで出来た!)をしたい奴にとっては
「項目がやたらある」という意味で居心地がいいんだ。
だからここ5ch(数の上での主力はモチベーションの高いアマチュア)には妙な奴が集まることになる。
K&Rはあっさりしすぎてて、読んでも彼等は何をすればいいのか全くピンと来ない。
だから彼等はCを貶す。
とはいえ、現実のゲームプログラマの大半は休日はのびてるだろうし、ここの動向とは全く別だと思う。
が、まあ、これはさておき、
現実的にC++が提供している「ゴリゴリにマニュアルチューニング可能」が出来る言語が他にない。
よってゲームプログラマをはじめとして最高速が求められる領域、今ならMLとかもそうだと思うが、
これらにはC/C++しかない。
ところがCは全くやる気がなく、現実的にはC++しかない。
現状C++の代替となる可能性の最有力はRustだが、
C++が全部入りを目指す以上、Rustが出来ることは「C++とゴリゴリのリンター」で出来る範囲でしかなく、
結果的にRustコンパイラ自体が「C++のリンター」になって終わるのではないかと俺は見ている。
なお学習コストも考えて取捨選別して生産性を高めようとしているのはC#だが、
結果的にJavaとダダ被りすぎ、そしてJavaが死ぬことは今のところあり得ないから、
死ぬならC#になってしまっている。これも残念なことだ。
272デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/02(月) 22:59:12.97ID:x3GPTWQz0 長文書くなボケカス死ね
273デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/02(月) 23:11:25.28ID:qlCCPxCU0 >>272
お前はプログラミングを止めた方がいい。
マジな話、ドキュメントを読む能力の必要性は以前よりもどんどん高まっていて、
今時の若者プログラマは英語もある程度読めないと付いていけないと思う。
母国語すら3行しか読めないようならどうあがいても未来はない。
お前はプログラミングを止めた方がいい。
マジな話、ドキュメントを読む能力の必要性は以前よりもどんどん高まっていて、
今時の若者プログラマは英語もある程度読めないと付いていけないと思う。
母国語すら3行しか読めないようならどうあがいても未来はない。
274デフォルトの名無しさん (ササクッテロ Sp5d-G0dn)
2019/09/02(月) 23:21:59.72ID:LddXNwm9p275デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/02(月) 23:46:36.21ID:x3GPTWQz0 >>273
マジモンなのか・・・?
マジモンなのか・・・?
276デフォルトの名無しさん (ワッチョイ 9963-n2vT)
2019/09/02(月) 23:54:40.82ID:L8repKrD0 昔はドキュメント読まなくて良かったってマジ?
もちろん分野によるけど、公式のリファレンス等に目を通さなくてもなんとでもなる分野は圧倒的に昨今のほうが多いと思う
英語に関しても同じ
何やるかに大きく左右されるけど英語圏にしか情報がほとんど転がってないような分野も昔からある
というかCPU回りとかハードよりなとことかは特にそうじゃない?
もちろん分野によるけど、公式のリファレンス等に目を通さなくてもなんとでもなる分野は圧倒的に昨今のほうが多いと思う
英語に関しても同じ
何やるかに大きく左右されるけど英語圏にしか情報がほとんど転がってないような分野も昔からある
というかCPU回りとかハードよりなとことかは特にそうじゃない?
277デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/02(月) 23:57:32.31ID:x3GPTWQz0 妄言の落書きがドキュメントとかもう病院行った方が良いよ
278デフォルトの名無しさん (ワッチョイ d352-ehfx)
2019/09/02(月) 23:57:36.60ID:oD2Tl7dd0279デフォルトの名無しさん (ササクッテロ Sp5d-G0dn)
2019/09/02(月) 23:58:10.92ID:LddXNwm9p 分かるように書くなら
main関数を1000行書くヤツをどう思うか
だな
main関数を1000行書くヤツをどう思うか
だな
280デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/03(火) 08:57:09.79ID:66Dg9oep0 いやたった20〜30行じゃねーか。。
まあjavaとc#に対する見方はかなり怪しげな感じではあるが。
まあjavaとc#に対する見方はかなり怪しげな感じではあるが。
281デフォルトの名無しさん (アウウィフ FF55-ca7b)
2019/09/03(火) 10:58:46.39ID:gWEsYspAF282デフォルトの名無しさん (ワッチョイ 69e3-hioB)
2019/09/03(火) 12:30:24.49ID:C5D9A8i30283デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/03(火) 15:08:11.09ID:rvKNSStT0 テンプレートとインラインは.hに本体書くぞ
284デフォルトの名無しさん (ワッチョイ 59ad-cRT5)
2019/09/03(火) 15:11:02.11ID:0LzbsSLZ0 テンプレートのいいところは、関数実体化しない限り、インクルードヘッダーを要求されないこと。
285デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/03(火) 15:30:37.58ID:rvKNSStT0 意味がわからん
286デフォルトの名無しさん (アウウィフ FF55-ca7b)
2019/09/03(火) 15:37:28.53ID:gWEsYspAF 真相はCMのあとで!
287デフォルトの名無しさん (アウアウカー Saad-xKLN)
2019/09/03(火) 20:13:37.38ID:RORIGRaia .hppとhを実装の有無で使い分けてるのっておかしいですか?
>>283みたいに実装をヘッダに書く必要があるときにhppにしてるんですが
>>283みたいに実装をヘッダに書く必要があるときにhppにしてるんですが
288デフォルトの名無しさん (アークセー Sx5d-G0dn)
2019/09/03(火) 21:55:23.31ID:sj4DSyzdx >>287
俺は実装のあるなしではなくC/C++の両方から呼ぶときには.hを、C++からのみ呼ばないときは.hppにしてる
このルールだと確かにheader only libraryは.hppだし、実装を含む場合は.hppと言えなくもない
俺は実装のあるなしではなくC/C++の両方から呼ぶときには.hを、C++からのみ呼ばないときは.hppにしてる
このルールだと確かにheader only libraryは.hppだし、実装を含む場合は.hppと言えなくもない
289デフォルトの名無しさん (アークセー Sx5d-G0dn)
2019/09/03(火) 21:56:24.15ID:sj4DSyzdx290デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/04(水) 07:01:17.49ID:ij+55yJ30 最初プロタイプだけだったヘッダにテンプレートが入ったら拡張子を変更して
そいつをインクルードしているソースを変更して回るのか?
そいつをインクルードしているソースを変更して回るのか?
291デフォルトの名無しさん (ワッチョイ 0101-drPI)
2019/09/04(水) 08:45:55.78ID:PFx+vIBX0 実装を含む場合は hpp てのは結構いいな。
まあ pimple はどうするとか言い始めるとめんどくさい話が出てきそうだが。
まあ pimple はどうするとか言い始めるとめんどくさい話が出てきそうだが。
292デフォルトの名無しさん (ワッチョイ c11a-Be7n)
2019/09/04(水) 08:48:49.00ID:3LCw+twW0 何がいいの?めんどくさい話しかなくね?
293デフォルトの名無しさん (ワッチョイ a9b0-cRT5)
2019/09/04(水) 09:02:40.51ID:t4uWG4G60 俺も最初から実装を含む前提のheader only libraryとただのプロトタイプに分けてるな。
後からテンプレートを追加する場合といっても、ライブラリじゃなけりゃたいてい明示的
インスタンス化で片付くしな。
後からテンプレートを追加する場合といっても、ライブラリじゃなけりゃたいてい明示的
インスタンス化で片付くしな。
294デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/04(水) 09:59:34.00ID:ij+55yJ30 明示的具現なんかやだよ
そんなことするくらいなら非テンプレートで多重定義しておいて
実装を作るときに無名名前空間の中で使ったほうがマシだ
そんなことするくらいなら非テンプレートで多重定義しておいて
実装を作るときに無名名前空間の中で使ったほうがマシだ
295デフォルトの名無しさん (ワントンキン MM53-Dn0U)
2019/09/04(水) 15:49:54.63ID:/ZfFKeJsM 今北産業
296デフォルトの名無しさん (ワッチョイ a961-hioB)
2019/09/04(水) 16:50:58.11ID:3jDqPa9+0297デフォルトの名無しさん (アークセー Sx5d-G0dn)
2019/09/04(水) 17:06:17.24ID:4UyI2Fv7x298デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/04(水) 17:16:50.20ID:ij+55yJ30 うん、usingだね
299デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/04(水) 19:19:08.36ID:c4vYFlyA0 3行しか読めない馬鹿はちゃんと本スレに行け。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
「その話何度目よ?」な馬鹿共も同様。
おまえらは真面目に議論しているつもりなのだろうけど、
インクルードファイルをどうするかなんてC++固有案件だし、
「プログラミング」の腕前の向上には全く繋がらないことをちゃんと認識した方がいい。
そして、様々な対処法があるということは、逆に言えば、ろくな対処法がないことを意味する。
なら、どうあがいても糞なのだから、さっさと諦めてgoogleなりMSなりの対処法に乗っかった方がいい。
それで問題があるならそこで改めて考え直せばいいだけだ。
当たり前だがGoogleやMSの規模なら社内にツール担当の専属が居て、
そいつらが日々どうするか無駄に議論して、結果をルールとして定めてる。
それらはツールチェインを考慮しているから多少制約が厳しかったりもするが、
(よほど詳しいつもりでなければ)彼等の方が詳しいのも事実だし、
オレオレ流より結果的にかなりましだと思うが。
一般的に社内ルールなんてガチガチで大体ブーイングの荒らしだが、
それに比べてgoogleのルールはかなり緩く、参考にするには悪くないと思うぞ。
(もっともgoogle社内でもプロジェクト毎にさらにルールを課しているとは思うが)
テンプレートガー、インクルードファイルガー、なんて話は、
JavaScriptの連中がやってる「セミコロンを打つべきか否か、打つならどこに打つか」と変わらない。
「プログラミングの達人」を目指すならそんなところに無駄にこだわらず本質に急ぐべきだ。
「C++の達人」を目指すなら合点がいくまでやればいいが、
どのみち初心者/アマチュアではgoogleやMS以上の解決策を得られることは無い。時間の無駄だ。
そこで空回りした分、空回りしなかった連中とは差を付けられていることを認識した方がいい。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
「その話何度目よ?」な馬鹿共も同様。
おまえらは真面目に議論しているつもりなのだろうけど、
インクルードファイルをどうするかなんてC++固有案件だし、
「プログラミング」の腕前の向上には全く繋がらないことをちゃんと認識した方がいい。
そして、様々な対処法があるということは、逆に言えば、ろくな対処法がないことを意味する。
なら、どうあがいても糞なのだから、さっさと諦めてgoogleなりMSなりの対処法に乗っかった方がいい。
それで問題があるならそこで改めて考え直せばいいだけだ。
当たり前だがGoogleやMSの規模なら社内にツール担当の専属が居て、
そいつらが日々どうするか無駄に議論して、結果をルールとして定めてる。
それらはツールチェインを考慮しているから多少制約が厳しかったりもするが、
(よほど詳しいつもりでなければ)彼等の方が詳しいのも事実だし、
オレオレ流より結果的にかなりましだと思うが。
一般的に社内ルールなんてガチガチで大体ブーイングの荒らしだが、
それに比べてgoogleのルールはかなり緩く、参考にするには悪くないと思うぞ。
(もっともgoogle社内でもプロジェクト毎にさらにルールを課しているとは思うが)
テンプレートガー、インクルードファイルガー、なんて話は、
JavaScriptの連中がやってる「セミコロンを打つべきか否か、打つならどこに打つか」と変わらない。
「プログラミングの達人」を目指すならそんなところに無駄にこだわらず本質に急ぐべきだ。
「C++の達人」を目指すなら合点がいくまでやればいいが、
どのみち初心者/アマチュアではgoogleやMS以上の解決策を得られることは無い。時間の無駄だ。
そこで空回りした分、空回りしなかった連中とは差を付けられていることを認識した方がいい。
300デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/04(水) 19:27:02.82ID:+A1qqwr/0 キチガイ来たー
301デフォルトの名無しさん (エムゾネ FF33-ca7b)
2019/09/04(水) 19:43:52.84ID:bgyq61vwF 2ちゃん(5ちゃん)で油売ってる口でな
302デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/04(水) 20:09:24.05ID:c4vYFlyA0 俺が気に入らないのなら、まずは本スレに行くべきだ。
俺は「このスレが存在する限り、他のC++本スレには書かない」の宣言を今も守っている。
俺はお前らがやってる糞みたいな文法話には興味ないし、
お前らは俺の文なんて読みたくもないんだろ。Win-Winだ。
お前らが何故棲み分けしようとしないのか俺には分からん。
さっさと以下に行け。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
(棲み分けしてればその必要もないはずだが)
それとは別に、俺を5chから追い出したいのなら、
俺に似合いそうな別のコミュニティを紹介してくれたら、そっちに行って居なくなるかもしれん。
よさげな所があればよろしく。
俺は「このスレが存在する限り、他のC++本スレには書かない」の宣言を今も守っている。
俺はお前らがやってる糞みたいな文法話には興味ないし、
お前らは俺の文なんて読みたくもないんだろ。Win-Winだ。
お前らが何故棲み分けしようとしないのか俺には分からん。
さっさと以下に行け。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
(棲み分けしてればその必要もないはずだが)
それとは別に、俺を5chから追い出したいのなら、
俺に似合いそうな別のコミュニティを紹介してくれたら、そっちに行って居なくなるかもしれん。
よさげな所があればよろしく。
303デフォルトの名無しさん (ワッチョイ 3332-cRT5)
2019/09/04(水) 20:14:09.56ID:+A1qqwr/0 スレを私物化する奴はこの世から出て行ってくれたら嬉しいなあ
304デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/04(水) 20:36:59.91ID:c4vYFlyA0 >>303
スレを私物化しているのはお前だ。
お前の意見が大勢だとでも思っているのか?
いずれにしても、俺(または長文)を嫌いな奴が
ずいぶん前に分離してゴミカス化してるこのスレに書く必然性はないはずだ。
また、俺は今後とも上記宣言を守るつもりで居るのだから、
わざわざ今更このスレに文句を言う必要もないはずだ。
結局のところ、スレはここで喚いている>>303のような、
「ぼくのみとめたすれしかみとめないゴミ」が潰していく。
それは全体の利益にはならないから、俺は棲み分けを提案してる。
このスレが嫌いならこのスレを読まなければいいだけ、
そしてそれが正しければ過疎って落ちるだけだ。
単純にお前がこのスレを読まなければ済む話だ。
何故それが出来ない?
さっさと以下に行け。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
スレを私物化しているのはお前だ。
お前の意見が大勢だとでも思っているのか?
いずれにしても、俺(または長文)を嫌いな奴が
ずいぶん前に分離してゴミカス化してるこのスレに書く必然性はないはずだ。
また、俺は今後とも上記宣言を守るつもりで居るのだから、
わざわざ今更このスレに文句を言う必要もないはずだ。
結局のところ、スレはここで喚いている>>303のような、
「ぼくのみとめたすれしかみとめないゴミ」が潰していく。
それは全体の利益にはならないから、俺は棲み分けを提案してる。
このスレが嫌いならこのスレを読まなければいいだけ、
そしてそれが正しければ過疎って落ちるだけだ。
単純にお前がこのスレを読まなければ済む話だ。
何故それが出来ない?
さっさと以下に行け。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
305デフォルトの名無しさん (ワッチョイ b1f6-CJuN)
2019/09/04(水) 20:55:19.20ID:ij+55yJ30 > 「プログラミング」の腕前の向上には全く繋がらないことをちゃんと認識した方がいい。
腕前が向上してない低脳に言われる筋合いはねえ
おととい来い、クズが!
腕前が向上してない低脳に言われる筋合いはねえ
おととい来い、クズが!
306デフォルトの名無しさん (ブーイモ MMeb-6845)
2019/09/04(水) 21:00:18.23ID:W+EoHA1TM ここはマジキチvoid君の専用スレです。
void君は本スレには二度と書き込まないと言っているのだから、彼の言うとおり本スレに移動しましょう。
void君は本スレには二度と書き込まないと言っているのだから、彼の言うとおり本スレに移動しましょう。
307デフォルトの名無しさん (ワッチョイ a9b0-cRT5)
2019/09/04(水) 21:11:41.56ID:t4uWG4G60 もったいないので私にください
308デフォルトの名無しさん (ワッチョイ 1361-hioB)
2019/09/04(水) 22:42:54.05ID:3YkDCQ2q0 >>297
typedefにしていないのは継承クラス TZzz に機能を後々追加することを想定しての事。
必ずこのスタイルにしておけば、その時に修正しなくて済むので、
後々機能追加するかどうか分からなくても必ずこの形式で書くようになった。
typedefにしていないのは継承クラス TZzz に機能を後々追加することを想定しての事。
必ずこのスタイルにしておけば、その時に修正しなくて済むので、
後々機能追加するかどうか分からなくても必ずこの形式で書くようになった。
309デフォルトの名無しさん (ワッチョイ 1361-hioB)
2019/09/04(水) 22:49:23.32ID:3YkDCQ2q0 >>308
追伸:本当は、T ではなく C を使って
class CZzz : public CXxx<CYyy> { // 1
};
としている。typedef ではないので、CZzz をさらに継承して
class CZzz2 : public CZzz { // 2
・・・
};
のようにすることもできる。もし、
typedf Cxxx<Cyyy> Czzz; // 3
としてしまっていたら、2のようには書けないはず。
この形式だと全て class で統一されるので何かと安定感がある。
追伸:本当は、T ではなく C を使って
class CZzz : public CXxx<CYyy> { // 1
};
としている。typedef ではないので、CZzz をさらに継承して
class CZzz2 : public CZzz { // 2
・・・
};
のようにすることもできる。もし、
typedf Cxxx<Cyyy> Czzz; // 3
としてしまっていたら、2のようには書けないはず。
この形式だと全て class で統一されるので何かと安定感がある。
310デフォルトの名無しさん (ワッチョイ c17b-u0zy)
2019/09/04(水) 23:52:59.90ID:c4vYFlyA0 >>305
ならお前が本スレを引っ張れ。
お前のレスが素晴らしくて俺のレスがどうしようもなくゴミなら、
ほっといても誰もこのスレには寄りつかなくなる。
まあ頑張れ。
そうやってプラス方向の競争をしないと駄目なんだよ。
それはさておき、C++スレのアマチュアは本当によく考えた方がいい。
インクルードファイル等の問題はC/C++では避けられないが、こだわりすぎだ。
それはエディタのフォントや色に異常にこだわる奴と同じだ。
最初はこだわる必要があるが、一度自分のスタイルを決めたら、後はガシガシ書くべきだ。
そしてアマチュアがgoogleやMSのツール専属の連中以上に
適切な方法を選択出来ることはほぼあり得ないのだから、有り難くさっさと丸パクすべきだ。
つまり、初心者がそこにこだわっていること自体が間違いだ。
ならお前が本スレを引っ張れ。
お前のレスが素晴らしくて俺のレスがどうしようもなくゴミなら、
ほっといても誰もこのスレには寄りつかなくなる。
まあ頑張れ。
そうやってプラス方向の競争をしないと駄目なんだよ。
それはさておき、C++スレのアマチュアは本当によく考えた方がいい。
インクルードファイル等の問題はC/C++では避けられないが、こだわりすぎだ。
それはエディタのフォントや色に異常にこだわる奴と同じだ。
最初はこだわる必要があるが、一度自分のスタイルを決めたら、後はガシガシ書くべきだ。
そしてアマチュアがgoogleやMSのツール専属の連中以上に
適切な方法を選択出来ることはほぼあり得ないのだから、有り難くさっさと丸パクすべきだ。
つまり、初心者がそこにこだわっていること自体が間違いだ。
311デフォルトの名無しさん (ササクッテロル Spf1-k2tX)
2019/09/05(木) 00:40:19.95ID:f7Zd74bDp >>299
長文書いてる間、長文書いていないヤツに差をつけられているわけだ
5chで高説垂れても聞く奴なんてほとんどいないのに無駄なことをしているわけだ
無駄なことをしている間、無駄なことをいていないヤツに差をつけられているわけだ
周回遅れを10回くらいしてそうなほど無駄なことしてそうだよね
君の人生だから時間をどう使おうと勝ってだけど、しっかりと認識することが大事だよね
長文書いてる間、長文書いていないヤツに差をつけられているわけだ
5chで高説垂れても聞く奴なんてほとんどいないのに無駄なことをしているわけだ
無駄なことをしている間、無駄なことをいていないヤツに差をつけられているわけだ
周回遅れを10回くらいしてそうなほど無駄なことしてそうだよね
君の人生だから時間をどう使おうと勝ってだけど、しっかりと認識することが大事だよね
312デフォルトの名無しさん (ワッチョイ 797b-Mj6H)
2019/09/05(木) 01:32:59.27ID:tAsuenN+0 >>311
それはその通り。
だから俺も馬鹿がいない方が助かるから、
長文が読めない馬鹿はさっさと以下に移動してくれ。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
それとは別に、俺と話したい奴がここに投稿するのはそいつの自由だし、
それ以前にこのスレに何を投稿しようが、そもそも投稿する奴の自由だ。
ただ、このスレに投稿された場合、俺が反応するかもしれないというだけ。
これについて、俺は俺が勝手に行った「棲み分け宣言」を守っており、
今現在の本スレは上記として別にあるのだから、無視するならともかく、
わざわざここに来て俺に文句を言うのは単なる当たり屋でしかない。
それはお互いに益がないから止めてくれ、というだけ。
まあついでに何度でも言っておくが、C++のアマチュアは自己満足が過ぎると思うよ。
どの言語の初心者もそれなりに空回りしてるとは240で言ったとおりだが、C++もだ。
ただこれについては防ぐのは難しいのだろう。
だから実際「C++なんて死ねばいいのに」と思っている奴も多いと思うよ。
原因はお前らが無駄に勘違いして威張っているのと、C++言語が糞過ぎるのが半々だと思うが。
といってもまあ、どの言語もそれなりに糞な部分はあるし、
C++は積極的に糞仕様を破棄している分、頑張っている方だと言える。
RustがC++をきっちり殺してくれれば割とみんな幸せになれると思うけど、
今のところその可能性は薄そうだし、もうしばらくC++はのさばりそうなのがなあ。
それはその通り。
だから俺も馬鹿がいない方が助かるから、
長文が読めない馬鹿はさっさと以下に移動してくれ。
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
それとは別に、俺と話したい奴がここに投稿するのはそいつの自由だし、
それ以前にこのスレに何を投稿しようが、そもそも投稿する奴の自由だ。
ただ、このスレに投稿された場合、俺が反応するかもしれないというだけ。
これについて、俺は俺が勝手に行った「棲み分け宣言」を守っており、
今現在の本スレは上記として別にあるのだから、無視するならともかく、
わざわざここに来て俺に文句を言うのは単なる当たり屋でしかない。
それはお互いに益がないから止めてくれ、というだけ。
まあついでに何度でも言っておくが、C++のアマチュアは自己満足が過ぎると思うよ。
どの言語の初心者もそれなりに空回りしてるとは240で言ったとおりだが、C++もだ。
ただこれについては防ぐのは難しいのだろう。
だから実際「C++なんて死ねばいいのに」と思っている奴も多いと思うよ。
原因はお前らが無駄に勘違いして威張っているのと、C++言語が糞過ぎるのが半々だと思うが。
といってもまあ、どの言語もそれなりに糞な部分はあるし、
C++は積極的に糞仕様を破棄している分、頑張っている方だと言える。
RustがC++をきっちり殺してくれれば割とみんな幸せになれると思うけど、
今のところその可能性は薄そうだし、もうしばらくC++はのさばりそうなのがなあ。
313デフォルトの名無しさん (ワッチョイ c261-8D6z)
2019/09/05(木) 01:41:25.16ID:wSq6T90P0 >>312
>今のところその可能性は薄そうだし、もうしばらくC++はのさばりそうなのがなあ。
世界最古級レベルのOSであるところのUnix系が台頭しているようにも思える昨今、
同じく最古級ではないにしても古くあるCを引き継ぐC++はしばらくどころか
ずっと残っていくかもしれない。
>今のところその可能性は薄そうだし、もうしばらくC++はのさばりそうなのがなあ。
世界最古級レベルのOSであるところのUnix系が台頭しているようにも思える昨今、
同じく最古級ではないにしても古くあるCを引き継ぐC++はしばらくどころか
ずっと残っていくかもしれない。
314デフォルトの名無しさん (ワッチョイ c261-8D6z)
2019/09/05(木) 01:51:58.75ID:wSq6T90P0315デフォルトの名無しさん (ワッチョイ c261-8D6z)
2019/09/05(木) 02:05:25.81ID:wSq6T90P0 >>31
>だから実際「C++なんて死ねばいいのに」と思っている奴も多いと思うよ。
>原因はお前らが無駄に勘違いして威張っているのと、C++言語が糞過ぎるのが半々だと思うが。
既に言語としては C++98くらいの段階でもかなりのことは出来ていたので、その後は
だんだんと好みの分かれる仕様となって言ってるのかもしれない。絵画などの
芸術作品で好みが分かれて、どの作品が良いのかを議論しても決して結論には
達しないように、ある人はC++98くらいの仕様が好きで、またある人は最新の
仕様の方が好きと言うような現象も起き得ると思う。
「C++言語が糞過ぎる」という件、多くの人が認めてはいるようですが、人によって
正反対の方向性を向いていたりします。ある人は古い部分が好きで新しい部分が嫌い、
ある人は逆に新しい部分が好きで古い部分が嫌いなのです。低級言語が好きな人と
高級言語の好きな人の違いかも知れませんが、単に学んだ時期の違いかも知れません。
使いこなせる人数からすれば、低級言語に比べてスクリプト言語の方が圧倒的に
多いとされていますので、単純に多数決で決めれば後者風が勝つことになってしまうでしょう。
しかしそれではC++の良さも失われてしまう可能性が高いのですね。
>だから実際「C++なんて死ねばいいのに」と思っている奴も多いと思うよ。
>原因はお前らが無駄に勘違いして威張っているのと、C++言語が糞過ぎるのが半々だと思うが。
既に言語としては C++98くらいの段階でもかなりのことは出来ていたので、その後は
だんだんと好みの分かれる仕様となって言ってるのかもしれない。絵画などの
芸術作品で好みが分かれて、どの作品が良いのかを議論しても決して結論には
達しないように、ある人はC++98くらいの仕様が好きで、またある人は最新の
仕様の方が好きと言うような現象も起き得ると思う。
「C++言語が糞過ぎる」という件、多くの人が認めてはいるようですが、人によって
正反対の方向性を向いていたりします。ある人は古い部分が好きで新しい部分が嫌い、
ある人は逆に新しい部分が好きで古い部分が嫌いなのです。低級言語が好きな人と
高級言語の好きな人の違いかも知れませんが、単に学んだ時期の違いかも知れません。
使いこなせる人数からすれば、低級言語に比べてスクリプト言語の方が圧倒的に
多いとされていますので、単純に多数決で決めれば後者風が勝つことになってしまうでしょう。
しかしそれではC++の良さも失われてしまう可能性が高いのですね。
316デフォルトの名無しさん (ワッチョイ c261-8D6z)
2019/09/05(木) 02:15:54.65ID:wSq6T90P0 >>315
【追伸】
プログラミングの効率面で考えれば、標準のライブラリで用意されているものは
使った方が有利ですので、std::xxxx のように書かれる STLを使って方が
当然良い面も多いですが、それは本当はC++言語そのものではなく、あくまでも
ライブラリですので極論すれば MFCやWin32 APIを覚えるのと似たような
立ち位置にあるとも言えなくも有りません。この板の人たちは、
積極的にそのような最新のライブラリを使って自分でコーディングをする部分を
少なくするほうが「賢い」という価値観を持っている人が多いようですが、
昔にC++を覚えた人から見れば、カチンと来るところはありますね。
新しい機能を付けた人の技術を使っているだけで、使っている人の能力でも
努力でもなんでもない訳ですから。当然、後から生まれてきて今学び始めれば、
そういう最新の機能を身につけるのは当たり前ですが、昔にC++を学んだ人が
無能であるわけではないのに馬鹿だとか老害だと言ってしまう人が多いのが
この板の特徴なのです。
【追伸】
プログラミングの効率面で考えれば、標準のライブラリで用意されているものは
使った方が有利ですので、std::xxxx のように書かれる STLを使って方が
当然良い面も多いですが、それは本当はC++言語そのものではなく、あくまでも
ライブラリですので極論すれば MFCやWin32 APIを覚えるのと似たような
立ち位置にあるとも言えなくも有りません。この板の人たちは、
積極的にそのような最新のライブラリを使って自分でコーディングをする部分を
少なくするほうが「賢い」という価値観を持っている人が多いようですが、
昔にC++を覚えた人から見れば、カチンと来るところはありますね。
新しい機能を付けた人の技術を使っているだけで、使っている人の能力でも
努力でもなんでもない訳ですから。当然、後から生まれてきて今学び始めれば、
そういう最新の機能を身につけるのは当たり前ですが、昔にC++を学んだ人が
無能であるわけではないのに馬鹿だとか老害だと言ってしまう人が多いのが
この板の特徴なのです。
317デフォルトの名無しさん (ワッチョイ c261-8D6z)
2019/09/05(木) 02:47:53.24ID:wSq6T90P0 Wikipedia には、STLに「難解さ」がある例として、以下のようなものが
書かれていた。ここで使われている STL を十分に知らない場合には
「一見何をやっているのか全く分からないソースコード」になってしまっている:
size_t N = 0;
int *pdata = NULL;
GetData(&pdata, &N); // データとデータ数を得る
typedef std::deque<int> Cont;
Cont deq(pdata, pdata + N);
FreeData(&pdata, &N); // データを解放
// 典型的なSTLコード
deq.erase(
std::partition(
deq.begin(),
deq.end(),
std::bind1st(std::less<Cont::value_type>(), 20)
),
deq.end()
);
書かれていた。ここで使われている STL を十分に知らない場合には
「一見何をやっているのか全く分からないソースコード」になってしまっている:
size_t N = 0;
int *pdata = NULL;
GetData(&pdata, &N); // データとデータ数を得る
typedef std::deque<int> Cont;
Cont deq(pdata, pdata + N);
FreeData(&pdata, &N); // データを解放
// 典型的なSTLコード
deq.erase(
std::partition(
deq.begin(),
deq.end(),
std::bind1st(std::less<Cont::value_type>(), 20)
),
deq.end()
);
318デフォルトの名無しさん (ワッチョイ 71f6-fUZA)
2019/09/05(木) 06:56:09.21ID:OtMARD1h0 >>310
腕前が向上してない低脳を認めやがったw
腕前が向上してない低脳を認めやがったw
319デフォルトの名無しさん (ワッチョイ 9901-wxDY)
2019/09/05(木) 08:03:44.02ID:3AoluiiY0 インクルードファイルに関してはむしろもっとこだわれと思うことのが多いがな。
c/c++においては本質だよ。
c/c++においては本質だよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- お前らがやってるバイト教えて
- トランプ、G7に代わるcore 5を発表 [805596214]
- 女だけど友達の家行こうと思ったけど車動かないんだけど
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
