C++相談室 part142

■ このスレッドは過去ログ倉庫に格納されています
2019/04/01(月) 22:17:05.84ID:wmfpIKt/
次スレを立てる時は本文の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++相談室 part141
https://mevius.5ch.net/test/read.cgi/tech/1550772463/

このスレもよろしくね。
【初心者歓迎】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
2デフォルトの名無しさん
垢版 |
2019/04/01(月) 22:24:49.84ID:2cPHsZN4
すっぱい葡萄
ttps://ja.wikipedia.org/wiki/%E3%81%99%E3%81%A3%E3%81%B1%E3%81%84%E8%91%A1%E8%90%84
 自分のものにしたくてたまらないにもかかわらず、努力しても到底かなわない対象である場合、
 人はその対象を「価値の無いもの」「自分にふさわしくないもの」と見なそうとし、
 それをあきらめの理由として納得し、心の平安を得ようとするものである。
 フロイトの心理学では、これを防衛機制および合理化の例とする。また、社会心理学においては、認知的不協和の例とされる。
 英語には、この寓話を元に生まれた熟語として "sour grapes" があるが、これは「負け惜しみ」を意味する。
2019/04/02(火) 01:05:02.56ID:/U03ydJ3
前スレの
やりたいことはこうかな
メンバ関数をバインドするときは&クラス名::関数名と変数を放り込むこと
https://wandbox.org/permlink/gDWEXupOcEbbhBzs
2019/04/02(火) 01:47:19.91ID:rKGqH4gv
c言語でclassって使えるの?
2019/04/02(火) 01:50:46.47ID:wSWhi9Oz
>>4
変数名として使える。
6デフォルトの名無しさん
垢版 |
2019/04/02(火) 07:55:15.08ID:iDbW+eLG
柴山昌彦
https://twitter.com/shiba_masa/status/1112661447366967296
 なるほど、新しい年数に「れいわ(018)」を足すと西暦か…

[GCC] error: invalid digit "8" in octal constant
[Visual C] Compiler Error C2041: 8 is not a base 8 digit
[Python] SyntaxError: invalid token
https://twitter.com/5chan_nel (5ch newer account)
2019/04/02(火) 18:51:10.44ID:m0eX+8Q8
>>4
オブジェクト指向の何たるかをきちんと理解していれば、概念として使えなくはない。
もっとも、C 言語に限った話ではないけど。
2019/04/02(火) 19:17:21.52ID:LpV8NoZ4
>>4
原則、C言語ではclassは使えない。
そもそも、CをOOPの概念に対応させようとして、
classの概念(classというキーワードも)を追加したところから
始まったのがC++。
2019/04/02(火) 23:46:57.28ID:rKGqH4gv
vcでCString使えるよ
10デフォルトの名無しさん
垢版 |
2019/04/03(水) 00:40:39.45ID:94cMasUZ
>>4
Win32API?
C++以前から(純粋OOPLな)smalltalk的な価値観をC言語に押し付けた結果。
2019/04/03(水) 12:59:01.63ID:cnGXlgmF
はあ?
2019/04/03(水) 18:43:28.55ID:9GPCcesD
テンプレートをテンプレートクラスで特殊化したい場合ってどうするの?
2019/04/03(水) 18:44:12.24ID:uuRoUePR
>>12
普通にテンプレートにすればいい
14デフォルトの名無しさん
垢版 |
2019/04/03(水) 21:15:34.88ID:2lV8d+D6
次スレから>>2に登場人物を列挙してはどうでしょうか?
2019/04/04(木) 01:13:57.58ID:tIFeeQbc
VS2019来てるじゃん
まともなメモリ使用量になってる奇跡だ
2019/04/04(木) 01:26:19.69ID:NSLfK+j2
C++erはVS毛嫌いする人も多いけどVS2017あたりからC++対応もマジでかなり良くなってる
17デフォルトの名無しさん
垢版 |
2019/04/04(木) 01:29:18.48ID:MCx08DTu
一番使えるIDEなのに毛嫌いする人はいないと思います。
2019/04/04(木) 01:33:25.98ID:kff2Ii9e
標準ライブラリの実装がいい加減だから使いたくない
19デフォルトの名無しさん
垢版 |
2019/04/04(木) 01:33:38.34ID:MCx08DTu
4/2を選んだのはエイプリルフールを避けたからかな。
20デフォルトの名無しさん
垢版 |
2019/04/04(木) 01:40:18.27ID:l5IgkZnr
>>16
そう言う輩はプログラマーではなく言語オタか、最新規格対応の入門書売って糧を得てる様な奴だけ。
2019/04/04(木) 01:46:00.78ID:tIFeeQbc
最近はCMakeに優しいけど標準的なビルドシステムに優しくない
clのオプションが独特すぎる
Linuxで動かない
Windows上でのライブラリの取り回しが悪すぎる

wslやらvcpkgでだいぶましになったとはいえまだ若干抵抗がある
22デフォルトの名無しさん
垢版 |
2019/04/04(木) 01:48:02.16ID:c6BVWPCA
VS2017以前よりもコンパイルが速くなっている気がする。
色々細かい不満は出てくるかもしれないが、完全に乗り換える価値は十分ある。
私はVS2017をアンインストールして退路を断った。
2322
垢版 |
2019/04/04(木) 01:55:45.14ID:c6BVWPCA
わかりにくかったので訂正。
VS2019はVS2017よりもコンパイルが速くなっている気がする。
デフォルトでスタックメモリ消費の静的解析をしてくれるので、
10KB以上のバッファをスタックからとるクセのある人は、
C++のstd::vectorなどへの置き換えを考える良い手助けになるなのでは。
2019/04/04(木) 18:08:19.41ID:USs/shwk
Qt VS toolsの対応待ち
2019/04/04(木) 18:37:00.98ID:tIFeeQbc
QtはCMakeでよくない?
2019/04/04(木) 20:38:54.64ID:O7o9gYjG
つか、プラットホームに依存しないような
プログラミングをかける奴なんてほとんどいないだろ

素人が書いたようなおもちゃをなんで他に移植しなきゃいけないんだよ
2019/04/05(金) 00:33:23.07ID:Zwa/Lf0S
hppファイルに実装を書いてることがたまにあって、すごく違和感があるんですけどどういうメリットがあるんですかね?
2019/04/05(金) 00:43:12.95ID:fDyBpfV8
配布が容易
宣言と定義が分かれないから読みやすい(人による
宣言と定義が分かれないからリンケージとかの罠にはまりづらい(場合によってはむしろODRの罠にはまる
翻訳単位が大量にある状況ではヘッダに実装したうえで少数のcppからインクルードした方がコンパイル速い
テンプレートの場合はほぼそうせざるを得ない

などなど・・・
2019/04/05(金) 00:49:55.23ID:1W3Y/f1q
そもそもhppファイルは実装書くためのファイルじゃないの?
templateとかで、分割コンパイルできない場合の
2019/04/05(金) 00:54:41.98ID:yOtZbpQl
もしかしてhppをhとcppの間の子みたいに思ってる?
Cのヘッダと区別するためにhppにしてる人がいるだけでただのヘッダ拡張子だぞ
VCだとヘッダはhになるけど
2019/04/05(金) 01:19:03.58ID:1W3Y/f1q
いや、そう言う流儀もあるよ
2019/04/05(金) 02:32:36.17ID:5WucuzOp
流儀なんか10年もしたらガラっとかわるから拡張子なんか好きにやれ
c++ではじめの頃の昔はたまにソースを .c++ で書いてるやつもいた
33デフォルトの名無しさん
垢版 |
2019/04/05(金) 02:42:38.39ID:qwUluuCg
ファイルパスにプラス記号使うのは、文字コード自動判定でUTF-7と誤認されやすくなるからさけたほうがいいね。
2019/04/05(金) 06:43:01.93ID:Z6l9czOn
前スレのenumから文字列についてこんなのあったよ
https://qiita.com/ta_dragon/items/1828ceb16bc8733526e1
2019/04/05(金) 07:27:13.05ID:Lymez0qU
>>28
無理やりテンプレート使ってビルドを腐らせる典型的アンチパターンじゃねーか。
2019/04/05(金) 08:06:44.62ID:a4VQ1u2O
>>28
配布出来るようなコードかけるの?
誰もお前さんのなんて欲しがらないだろ
2019/04/05(金) 09:33:27.78ID:XIaLs/Gd
.C ならC++ なんてのも黎明期にはあったのう
2019/04/05(金) 14:59:43.19ID:8pIebtc7
>>34
ほう、すごいね、そんな方法があったんだ。
これなら、enumの定義から自動的にunorderd_mapに登録して逆変換テーブルを作るとかもできるかもね。
2019/04/05(金) 16:37:26.15ID:Axh2Vo9Q
なんで何でもライブラリでできるんだよ
2019/04/05(金) 20:58:14.82ID:Qo5/2ixY
.hは宣言だけ、.hppは実装ありって使い分けてたこともあったけどやめた
includeする方はそんなの知ったこっちゃないし、いちいちhかhppか判断させられるのが無駄だとわかった
2019/04/05(金) 21:25:06.14ID:sL+JrEGq
>>40
>hppは実装あり
それは悪手なのでは?
2019/04/05(金) 21:28:37.12ID:Qo5/2ixY
別に全部入りって意味じゃないよ
テンプレートとかinlineとか、処理の実装も書いてますよーっていうこと
2019/04/05(金) 21:42:34.57ID:Axh2Vo9Q
暗黙の了解でもそんなのないだろ
hppなら少なくともC言語ではないというくらいしかない
2019/04/05(金) 22:05:43.09ID:YxBlyJP7
そもそもユーザーがincludeする部分は拡張子書いてないライブラリもある
2019/04/05(金) 22:12:58.31ID:Qo5/2ixY
だから意味ないからやめたって言ってるじゃん
意味ないし有害だよやめた方がいいよ
2019/04/05(金) 23:31:31.45ID:yvFnJ+4h
そもそも素人が書いたテンプレートを用いたものなんて使い物にならん
2019/04/05(金) 23:51:13.69ID:zbJZTl/M
じゃあ玄人が書いたモンは形式だけで分かるのか?
2019/04/06(土) 00:02:05.00ID:zp0ZZwhH
実装隠しても公開しても同じだぞ
2019/04/06(土) 00:09:06.17ID:tDMvjH1l
むしろプロの方がゴミみたいなコード書いてる人多いよね
2019/04/06(土) 00:22:46.49ID:K6S/+wtb
>>47
boostみたいなのをかけるのか?
2019/04/06(土) 00:35:20.36ID:zp0ZZwhH
小規模なライブラリに6ヶ月かけていいなら書けるよ
2019/04/06(土) 00:55:05.26ID:/WRt9p3o
boostで開発効率上がるとか信じてるバカが世の中にはまだいるのな。
2019/04/06(土) 00:58:36.65ID:zp0ZZwhH
boostのどれだよ
2019/04/06(土) 01:19:45.64ID:XiUalYkv
実際上がるだろ
ライブラリ使えばコーディング量減るのは当然
2019/04/06(土) 01:22:34.24ID:d3+s3AWp
コーディング量を減らしたいならC++使うのやめるべき
2019/04/06(土) 01:27:27.25ID:XiUalYkv
速くてコンパクトなソフト作るのに最適だろ。
慣れてりゃ開発速度も同じようなのLLで作るのと大差ないし
2019/04/06(土) 01:41:14.78ID:zp0ZZwhH
言語によって作業量が増えるとか無いから
目的に合ったフレームワークがあるかどうかが重要
2019/04/06(土) 01:53:28.65ID:d3+s3AWp
>>57
残念ながらあるんだよね
2019/04/06(土) 01:54:41.01ID:zp0ZZwhH
そっか
2019/04/06(土) 02:02:09.95ID:K6S/+wtb
どうせお前らなんて、数十行程度の小さなもばっか書いて、あーでもないこーでもない言ってるだけだろ

会社にもいるわ、細かいことばっか、正論言って
実際の仕事では何にもできない、言語規格ヲタ
2019/04/06(土) 02:06:54.68ID:zp0ZZwhH
そっかそっか
2019/04/06(土) 02:59:01.41ID:totkvsPq
仕事してるより細かいとこ突き詰めてる方が楽しいんだ、ごめんね
2019/04/06(土) 03:15:48.33ID:d3+s3AWp
>>60
ドワンゴで働いてるのか?
2019/04/06(土) 06:57:44.30ID:grJD5FiV
ドワンゴ今やばいしあの人も首が涼しくなってそう
2019/04/06(土) 07:57:21.33ID:/WRt9p3o
ドワンゴでコード書いてて江添みたいなバカに
しょうもないアドバイスされたらそらキレるだろうな。
2019/04/06(土) 08:47:14.06ID:dOsEQJqb
あの手の連中って小さなサンプルしか書いたことないんだろ
実際の数百万行あるようなプロジェクトなんかには
参加したことないんだろうな
2019/04/06(土) 09:02:21.08ID:jpD7ojAE
弁理士みたいなもんだろ。
自分じゃモノ作らないけど複雑なルールに精通してて「それじゃ通らないよ」とアドバイスする。
2019/04/06(土) 10:37:53.59ID:DWbJNRMu
数百万ってOSとかミドルウエアでも作ってるのか?
2019/04/06(土) 10:40:30.76ID:lEFKAYHm
>>68
c++なんかでosなんか作れるかよ
遅すぎる
2019/04/06(土) 10:52:37.36ID:DWbJNRMu
>>69
じゃあ何作ってるの?
2019/04/06(土) 11:08:56.61ID:oXBRKV1B
>>70
ia32
2019/04/06(土) 11:11:25.61ID:dOsEQJqb
>>67
作らないじゃなくて、作れないんだろ
標準ライブラリの使い方を示す小さなものは作れるけど、現実的に使用するアプリケーションはかけないんだろう
2019/04/06(土) 11:26:29.61ID:DWbJNRMu
>>71
Intelの奴隷
2019/04/06(土) 11:27:31.68ID:DWbJNRMu
>>72
で数百万行で何を参加して、そのうち何行書いたの?
2019/04/06(土) 11:30:01.81ID:g9dCbj7p
>>74
自動機が約1000台あるCAMで40%は書いてるよ
2019/04/06(土) 11:33:57.74ID:DWbJNRMu
>>75
じゃあこのスレで一番C++に詳しい人は君ね
2019/04/06(土) 11:47:11.69ID:XiUalYkv
どうせその数百万行のコードで意味があるのは数万行から十数万行とかだろ

後は無駄なコピペやら、標準ライブラリにある機能を知らずに毎度一から書いて水増しされた無意味どころか保守考えたら害悪にしかならんくその塊
2019/04/06(土) 11:52:36.82ID:jpD7ojAE
>>72
弁理士の喩えで言えば、弁理士自身が発明できなくても別によくね?って話なんだが。
2019/04/06(土) 12:45:48.78ID:zp0ZZwhH
どうせ納期に追われて妥協に妥協を加えたやっつけのコードを○行書きましたwとか言われても自慢にもならん
2019/04/06(土) 12:59:26.47ID:zp0ZZwhH
>>78
ダメだぞ
弁護士は立法の経験が無いとダメだしスポーツの評論家は一流アスリートじゃないとダメだし調理器具を作る人は繁盛してるレストランで勤務したことがないとダメw
ライブラリ開発や教材の執筆には数百万行のシステム開発と組み込みの経験が無いとダメw
ちなみに数百万行のシステム開発や組み込みの経験があると自動的にライブラリ開発者や教材の執筆者より現実を知ってる格上()だし現場のニーズを満たした理想のライブラリを作れるようになるぞ
2019/04/06(土) 13:01:20.04ID:dOsEQJqb
ビャーネなんて、ロクなの作ってないよなw
数十行程度のものをあーでもないこーでもない言ってるだけだろ
2019/04/06(土) 13:04:46.19ID:zp0ZZwhH
せやなw
建築物の工法の研究者なんかろくに家も建てたこともない雑魚w
ネイルガンの一つも使えないくせに机上でああでもないこうでもないって言ってるだけw
2019/04/06(土) 14:13:10.98ID:BcLgwe4j
>>80
>立法の経験が無いとダメ
つまり議員の経験が無いとだめってことか
84デフォルトの名無しさん
垢版 |
2019/04/06(土) 14:25:22.19ID:HZH6vgE1
STLの美しさは時代を超越してるし、オーパーツに認定してもいいのではないか。
2019/04/06(土) 15:08:23.30ID:FeLBMWFl
直交性とか説明しても誰にも通じなかった
2019/04/06(土) 15:56:35.00ID:DWbJNRMu
ラムダ式使えない馬鹿「今まで書いたソースの行数は?」
そんなの気にしねえwwws
2019/04/06(土) 16:00:55.76ID:grJD5FiV
なるほどラムダ式が嫌いな奴は書く行数が減ってコードの生産量()が減るのが嫌なんだな
ボイラープレートコードを書き殴ってれば仕事したフリができる人たちは気楽っすなあ
2019/04/06(土) 16:07:07.88ID:/WRt9p3o
まあ実際クヌースなんかもtexプログラム作ってプログラムの大変さに気づいた
的なことは言っているしな。
偉い人でもその辺実際に作ってみると感覚が違うってのはあるんだろう
89デフォルトの名無しさん
垢版 |
2019/04/06(土) 16:49:06.59ID:HZH6vgE1
コンセプト来い。
コンセプトはよう来い。
2019/04/06(土) 16:52:05.91ID:TQhcrP/j
>>68, >>77
こいつらみたいな世間知らずの根拠のない自信はどっから来てるんだろう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況