[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2ch.scのread.cgiへ]
Update time : 04/20 12:41 / Filesize : 255 KB / Number-of Response : 872
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.104【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 06:04:52.38 ID:ufThBpcD.net]
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
codepad.org/
https://ideone.com/

前スレ
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/

75 名前:はちみつ餃子 mailto:sage [2019/01/10(木) 17:13:07.72 ID:2cm4ZQb/.net]
>>69
時間を掛けたら扱う項目 (提案) も増えるからどっちでも同じだよ。
一度の変更が大量になるよりは小さな変更を頻繁にした方が良いというポリシー。
その方が実際の運用で出た問題をフィードバックしやすいという利点もあるしな。

>>73
配列の大きさを知るには std::size か std::extent を使えよ。

76 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 17:38:07.90 ID:d84NrtHP.net]
C++ には C 以来伝統の sizeof / sizeof 以外に
配列の要素数を知る方法があったはず…と思ったが std::size だったか。
でも標準で使えるのは C++17 以降だよね。

「C++ならテンプレート使えばできますよ」的な情報は色々あるけど、
結局、移植性を考えると古典的な sizeof 割り算が便利だったり。

77 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 19:00:06.40 ID:K/rzzMpV.net]
ちょっと知ったかは、よくよく初心者を馬鹿にする。
自分も、初めは、初心者だったくせに。

78 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 19:11:35.64 .net]
スタティックおじさんにならないように戒めなければ

79 名前:デフォルトの名無しさん [2019/01/10(木) 20:37:36.88 ID:WIE9C9TP.net]
ヒカキンの年収が10億超え!?明石家さんま・坂上忍も驚愕の総資産とは??
https://logtube.jp/variety/28439
【衝撃】ヒカキンの年収・月収を暴露!広告収入が15億円超え!?
https://nicotubers.com/yutuber/hikakin-nensyu-gessyu/
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
ヒカキンの月収は1億円!読唇術でダウンタウンなうの坂上忍を検証!
https://mitarashi-highland.com/blog/fun/hikakin
なぜか観てしまう!!サバイバル系youtuberまとめ
tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
世界で最も稼ぐユーチューバー、2連覇の首位は年収17億円
https://forbesjapan.com/articles/detail/14474

80 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 22:25:25.90 ID:jgU/jZru.net]
std::sizeが使えなかったとしても(主要なゲーム機の環境の1つはC++14止まりだし)、テンプレートで取得するのはC++の移植性には影響しなくないか?

81 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 22:41:00.66 ID:poVh1zdG.net]
ていうかGUIとかマングリングの統一とかvtblが最初に来ることとか
テンプレート周りばっかりじゃなくて解決して欲しい問題いっぱいあるんだけどなぁ
あと個人的にはプロパティとかも欲しい

82 名前:はちみつ餃子 mailto:sage [2019/01/11(金) 00:50:02.24 ID:le18Krsa.net]
配列の要素数を取得するだけのものを自分で書くならこんな感じかな。

template<class T, size_t N>
std::size_t size(T (&)[N]) {
return N;
}

実装自体には sizeof を使ったって害はあまりない (あえてする意味もないけど)。

template<class T, size_t N>
std::size_t size(T (&a)[N]) {
return sizeof a/sizeof a[0];
}

sizeof でのやり方を「そのまま」書く、またはマクロで覆うのは、
型チェックの支援を受けられないから変なミスをしやすい。

変数 a が (配列ではなく) ポインタのときに
sizeof(a)/sizeof(a[0]) という式がコンパイルは通っちゃったりするし。
変数名を二回書かなきゃならないのも、
何かの修正のときにうっかり片方だけ書き換えたりとか有りがち。

プログラミングをそれなりに長くやってると、
馬鹿みたいなつまらないミスをした経験のひとつやふたつやみっつや二百くらいはあるでしょ。
型システムはそういうのを多少なりとも事前に検出してくれるありがたい仕組みなんだから、
積極的に活用したいところ。

83 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 01:26:18.63 ID:bUNhmYA9.net]
C++標準じゃないけどVC++の_countofが重宝してる



84 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 07:47:16.24 ID:PueFbUtC.net]
>>75
>時間を掛けたら扱う項目 (提案) も増えるからどっちでも同じだよ。

同じ訳ないだろが、
仕様変更、追加したものの、さんざん使ったあげくそんなもん使うなってのはいくらでもあるだろ。
auto_ptrはどーした。
だから3年なんて製品のモデルチェンジ並の仕様変更じゃなく、言語オタク共がもっと時間をかけて精査して、
10年に一度ぐらいの変更にしとけってこった。
そもそもCのプリプロセスだったわけで、
Cとの整合性は確保した上で双方同時に仕様変更しろといいたい。
だいたいどっち見て仕様変更してんの?言語オタクのセンズリか?wwww

85 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 11:25:51.10 ID:saOHWwmK.net]
3年ごとなのはいいと思うけど、クラステンプレートの引数推定なんか
関数テンプレートみたいに推論できないテンプレート引数が残る形に出来ない上に
エイリアステンプレートには使えないしクラステンプレートの参照にも使えないし
デフォルトテンプレート引数では省略できないしで・・

便利だけど、あまりにも片手落ちじゃね?と思うことはある

86 名前:はちみつ餃子 mailto:sage [2019/01/11(金) 13:40:13.69 ID:le18Krsa.net]
>>84
> 同じ訳ないだろが、
> 仕様変更、追加したものの、さんざん使ったあげくそんなもん使うなってのはいくらでもあるだろ。

同じだよ。
散々使ったからようやくわかったことで、ただの言語オタクどもがどんだけ理屈をこねた
ところで現実的なプロダクトの実際なんかわかりゃしない。
精査をしっかりすれば事前にどうにか出来てたと本当に思うのか?

> auto_ptrはどーした。

これはまあ……アレだ……
これ自体は擁護しようがないほどアレだけど、
一番アレなのを抜き出して言うのもちょっとどうかなって。

強いて言えば、当時としてはスマートポインタという概念を提示出来たという
成果といえなくもないんじゃないかな……。

> 10年に一度ぐらいの変更にしとけってこった。

https://i2.wp.com/ds3.jp/wp-content/uploads/2017/07/023.jpg

> だいたいどっち見て仕様変更してんの?言語オタクのセンズリか?

そうならないために言語オタクにゆだねない (実際の運用で見極める) という選択なのに、
お前はもっと言語オタクに活躍しろって言ってんだぞ。
おかしいだろ。

87 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 14:33:07.36 ID:iMdUEP7b.net]
仕様変更が止まってる言語はともかくとして仕様策定のない言語に比べればC++の更新スパンは割と長い方という認識がある

これより長いのメジャーどころだとC11(1,20年)/Fortran2008(5年)/Ada2005(10年)/Haskell(5年前後)くらい?
Haskellなんかは処理系拡張ゴリゴリだしアテにならないし他はもう古めかしさを感じるなぁ

88 名前:デフォルトの名無しさん [2019/01/11(金) 14:56:08.31 ID:9UT8ehvY.net]
これ以上Dをdisるのはやめて

89 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 16:08:50.25 ID:c9plSaZI.net]
まぁ、TypeScriptは年6回updateしてるけど次が待ち遠しいな。

90 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 20:26:13.94 ID:KLK+GnJ4.net]
426名無しでいいとも!@放送中は実況板で2019/01/10(木) 18:17:49.03ID:b7PfIJnh0

新しい物好きな人は、よく、古いもの馬鹿にする。
古いものに、大切なものがあることが、
よくあることを、知らない人が多い。

91 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 08:06:07.36 ID:TXMmMfvK.net]
古いという感覚を持つと話をしただけで古いものが悪いとは一言も言っていないが……?
一方でもしその良さが「新しい仕様を頻繁に覚えなくて良い」なら、言語に対して掛けるコストが減る事と、自身が怠惰である事の2面性を常に持つかもね

プログラマなんて怠惰でナンボだけど覚える事に怠惰か書く事に怠惰か人それぞれよね

個人的には草案で嬉しそうな機能を追加します!って言いながら実際の仕様では無限に延期される方が嫌

92 名前:デフォルトの名無しさん [2019/01/12(土) 13:08:56.44 ID:k/r1EiKa.net]
これな
youtube
qqwgldvnNlk
#t=41m41s

93 名前:388 mailto:sage [2019/01/12(土) 23:22:31.27 ID:0iVYXuy3.net]
>>82
配列の参照のsizeofは配列のサイズじゃないから害はあるな()



94 名前:388 mailto:sage [2019/01/12(土) 23:28:35.62 ID:0iVYXuy3.net]
>>84 は面白いよな、散々使うことで問題が見付かるって自分で初っ端から言ってるのに「だからスパンを長くしろ」つまり散々使うことが出来ないようにしろって言ってる
そして最後には言語オタクのセンズリかって、言ってる事が弾けまくってるな。

言語オタクのセンズリになってるのが不味いから、積極的に一定毎に更新するようにしていってるんだがな

95 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 09:10:56.47 ID:47MX21Fj.net]
何が言いたいのか分らん

96 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 09:35:19.34 ID:e8OabTpu.net]
箇条書きでよろ

97 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 14:11:24.44 ID:goGtxYMD.net]
おれは >>84 に同意だな
数年で更新ってそれがどれだけワークしてるのさ
だいたいどれだけ認知されてるのかようわからん小さい機能追加が山盛りな一方で
大規模なconstexprとかひかえめにいって大クソじゃん?
理論もなければ、現実のワークフローなにも考慮にはいってない
結局オナニーでしょ、何オタクかはしらんが

98 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 15:03:59.93 ID:lykUAvmZ.net]
1.仕様が確定してからでなければ実務には使われない
2.実務で使われないと良し悪しは分からない

3-1.仕様確定のスパンが短いと、仕様に提案されてから試されるまでが短い(もし悪ければ次で撤回も可能)
3-2.仕様確定のスパンが長いと、提案されてから実務で試されるまでが長い(撤回されないと言えば聞こえは良いが、当然悪いものが残り続ける)

んで仕様策定を言語オタクのオナニーって言ってるのに、実務で試されない、策定の期間だけ伸ばして言語オタクなんとかしろって言ってるように聞こえるからよく分からんわけだ
だって君たち仕様確定してからじゃないとそうそう草案の機能なんて使わないでしょ?追わないでしょ?私だってそうだ

期間が長ければその間に普及する概念も多くなるし(少なくともc++はそれを取り込む方針の言語なので)あんまり長くすると大変だと思うよ

99 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 16:52:54.35 ID:bhcZ5Z4Z.net]
>>97
c++14のconstexprは条件分岐とかループにも対応してるから、そこそこ使えるよ。
文字列リテラルの長さを取得する関数とかも定数化できるし。
テンプレートの非型引数をあれこれする関数を定数化したりとか。

100 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 16:58:40.56 ID:goGtxYMD.net]
機能追加したい人が、ブランチして機能追加して実務で実証して、
それから正式に仕様を提案すりゃいいじゃん
なんで仕方なく業務でC++使ってるだけなのにベータテストみたいな
仕様更新に巻きこまれなきゃならないのさ

101 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:05:15.75 ID:zLcYabhS.net]
そんなことよりrvoを強制してほしい…

102 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:05:25.96 ID:bhcZ5Z4Z.net]
仕様を確定させないと各コンパイラでの実装と互換性チェックとか出来ないし、
既存のコードが動かなくなるわけでもなし、
10年くらい経って十分枯れた機能を使ってれば良いだけでは?

103 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:06:11.78 ID:goGtxYMD.net]
>>99
その程度の最適化はコンパイラが勝手にやればよくね?
もっと大規模なことしたいからわざわざconstexprなんてキーワード追加して
かつ人間様がわざわざそれを指定するんだろ?
で大規模なことをできる仕様か?あれが?
どうせみんなデバッグするときにconstexprをはずしてんだろ?
アホと思わないか?



104 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:10:55.99 ID:bhcZ5Z4Z.net]
>>103
Visual Studioでしか試してないけど、わざわざ外さなくてもデバッグビルドでは定数化されないのが普通じゃないの?

105 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:11:37.75 ID:zLcYabhS.net]
constexpr相当を勝手にやられたら、参照してるほうがリコンパイルが必要か判断できなくなるんじゃないの?

106 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:27:56.15 ID:bhcZ5Z4Z.net]
constexpr指定を使わずに同じような定数化を自動でやるとなると、
一度全ての関数を定数化可能か調べるためのプレビルドみたいなことをしないと無理だよね。

107 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:43:24.56 ID:goGtxYMD.net]
定数畳み込みなんて古典的な最適化手法だし、
gccはstrlenの最適化やるだろ
だからもっと大規模なことをやるためのconstexprだろと言ってる

108 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 17:50:38.42 ID:bhcZ5Z4Z.net]
その最適化をコンパイラ依存でなく標準規格化したことに意味があると思うんだけど。
gccで出来ればあとは何でも良いの?

109 名前:デフォルトの名無しさん mailto:sage [2019/01/13(日) 18:13:13.67 ID:goGtxYMD.net]
珍説どうも
その程度の最適化技術を持たないコンパイラベンダなんてどうでもいいな
clangのバックエンド自分で作った方が早い

110 名前:はちみつ餃子 mailto:sage [2019/01/14(月) 02:10:17.55 ID:ybeYuaGe.net]
constexpr 相当のことはコンパイラが最適化で頑張るのが筋だというのは
まったく正当な意見だと思うんだが、本当に速度が必要な個所のチューニング
をしたいとき、つまりコンパイラの最適化以上のことがしたいときに
打てる手段が無かったりだとか処理系の拡張構文を使わなければならないというよりは、
不格好でも constexpr の方がマシ。

C++ は現実的に使えることを指向した言語で、現実はクソなんで、
クソを少しマシに書けるようにするってのは妥当な選択肢。
コンパイラが十分に賢いだとかいうような
理想的な世界で生きてる人は別に constexpr を使わなくてもいいよ。

111 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 06:19:38.07 ID:S0iGLcvV.net]
pythonやmatlabみたいに配列やvectorを:とかでスライス抽出できないんですか?

112 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 07:17:53.28 ID:4qrkuOlT.net]
技術スキンだけ高い奴が、できる奴と思い込んでるチキン。

113 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 09:22:28.84 ID:UgNfZwvf.net]
>>111
それをアセンブラで書いてみてくれ



114 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 10:26:42.41 ID:3TGcl/LH.net]
++20のfilterでスライスみたいな事ができるようになる
しばし待たれよ

115 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 13:02:31.28 ID:BcFaCsuL.net]
>>110
constexpr指定はコンパイラにはわからない関数呼び出し先で
定数化できる計算であるとコンパイラに教えられるので
指定できるならした方がいいだろうけど

>本当に速度が必要な個所のチューニング
そういう個所がコンパイル時にわかってる定数だけで構成されてる例なんて
まず滅多にないんだけどね

116 名前:はちみつ餃子 mailto:sage [2019/01/14(月) 13:29:30.02 ID:ybeYuaGe.net]
>>115
>> 本当に速度が必要な個所のチューニング
> そういう個所がコンパイル時にわかってる定数だけで構成されてる例なんて
> まず滅多にないんだけどね

constexpr はコンパイラに対するヒントであるだけでなく、プログラマにとっての制約でもある。
「そういう (速度が必要な) 箇所」であるにもかかわらず実行時の値に依存しているということを
プログラマが気づくことが出来る (ので分離するなどの工夫をする機会があるかもしれない)
というのは十分に便利だよ。

117 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 13:39:03.52 ID:BcFaCsuL.net]
わかってないな
本当に解決しなきゃいけないボトルネックが、たかだか定数の畳み込みだけで
解決出来ることなどまず無いと言ってんの

ただの数回、数十回の普通の演算はそのままやっても十分速いんだよ
むしろ定数化できるとこを全部定数化したせいで、(即値にならないような構造体の場合)定数を読みに行くコストの方が大幅に高くなる可能性もある
constexprというか言語の機能を盲信しすぎ

118 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 13:47:53.15 ID:BcFaCsuL.net]
あと、
>「そういう (速度が必要な) 箇所」であるにもかかわらず実行時の値に依存しているということを
ファイルから読んだ内容、mainに渡された引数、ネットワークから受け取ったデータ
そういうの(および一度でもそれらと関わった変数)全て実行時の値だってわかってる?

119 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 22:35:17.67 ID:SOyXSPCI.net]
オフラインで複雑な計算して、結果をバイナリで埋め込んでおくことはよくやる
ゲームなら当たり前にやるワークフローだよな
しかしそういう典型的な用途にconstexprは向いてないという間抜け具合
C++でなんでもやるというのが目的になってんだよね
こういうのをオナニーって言う

120 名前:はちみつ餃子 mailto:sage [2019/01/15(火) 09:17:36.65 ID:f9+1p0X/.net]
>>117-118
やりたいときに出来る方法があるというのは無いより「マシ」と私は >>110 で述べたが、
それが君にとっての妄信なのかい?
要するに、 constexpr の成果は限定的すぎると言いたいんだろ?
ほとんどの機能は個別に見ればどうでもいいような些細なものなのは普通のことだ。

121 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 09:57:48.09 ID:fPstZ0f7.net]
何度も言ってきたが、負けを認めたら死ぬ病気なのか?君は

122 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 10:02:02.52 ID:fPstZ0f7.net]
ついでに言えば、俺は「指定できるならした方がいい」と書いた
俺が成果を限定的だと貶してるんじゃなくて、
君が過信してるの

123 名前:はちみつ餃子 mailto:sage [2019/01/15(火) 10:05:46.91 ID:f9+1p0X/.net]
>>122
じゃあ何が問題なんだい?
指定できるならした方がよくて、指定できるようになってるのは指定できないより良いというのなら意見は一致してるじゃないか。



124 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 10:23:37.90 ID:p3r+u4ET.net]
>本当に速度が必要な個所のチューニング
>をしたいとき、つまりコンパイラの最適化以上のことがしたいときに
>打てる手段が無かったりだとか処理系の拡張構文を使わなければならないというよりは、
>不格好でも constexpr の方がマシ。

125 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 10:26:22.74 ID:fPstZ0f7.net]
(途中送信してしまった)
本当に"速度"が必要なときに速度より移植性やC++標準への準拠を優先してconstexprマンセーする
これを過信と言わずして何と言う

126 名前:はちみつ餃子 mailto:sage [2019/01/15(火) 10:40:35.59 ID:f9+1p0X/.net]
>>125
速度が必要な個所が「なるべく」移植性が高い形で表現できればそれに越したことは無いし、
更にそれ以上が欲しいなら移植性を犠牲にすることも出来るんだから、
constexpr の導入に何の問題もないだろ?

127 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 19:01:25.37 ID:CKmovdLr.net]
何でC++スレはプログラム板で勢いあるんですか?

128 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 19:02:26.94 ID:CKmovdLr.net]
C++で有名人になりたいです
どうすればいいでしょうか?

129 名前: mailto:sage [2019/01/15(火) 21:38:31.55 ID:niK8DUcQ.net]
>>128
c++ のコンパイラを c で記述すれば、それだけで有名になれると思います
gcc が c から c++ になったときは心底残念に思っていました

130 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 22:36:39.63 ID:CKmovdLr.net]
>>129
それって無理では‥

131 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 01:23:29.16 ID:CLrL7dI7.net]
>>130
つ ttps://www.amazon.co.jp/dp/4797344369

132 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 04:10:04.96 ID:GtMBox+p.net]
>>94
はちみつなんとかもそーだけど、
おまえもほんま馬鹿やね。表面しか読めないんだな。
10年間、言語オタを隔離してしまえといってるのだよ間抜けちゃん。
世の中から隔離された世界でせんずりこいてろといってる。ザーメン臭でくさいやつは地上に出るな。

大体、大規模プログラミングはすでにC++には向かないことが露呈して久しく、
せいぜいbetter Cとして生き残るぐらいしか道はないのにどういう意図を持っての3年ごとの改訂なんだ。
ポリシーなき改訂ははた迷惑なだけ
これだけ頻繁に改訂されると、スペック以外の解説本では、すでにストラウストラップ本自体改訂をキャッチアップできてない。
その邦訳ともなればますます現行仕様から浦島太郎になるのは必至。せっかく覚えた頃に新スペックの登場か?
C++初心者はいったいどの本買ってるのさ?キチガイ言語オタ江添本でも買うのか?
結局、ユーザー減少させてるだけだろうが

133 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 04:55:20.85 ID:M8dG57eU.net]
他人をけなす人には、なりたくないな
https://lavender.5ch.net/test/read.cgi/pav/1534982458/



134 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 05:13:03.61 ID:CLrL7dI7.net]
なるな人間になるな

135 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 09:06:01.53 ID:Cj0f6L/5.net]
もしかして、最初の「なる」はNULLと掛かってる?
中身のない人間、アクセスしちゃダメな奴、みたいな意味で。

ちなみに自分は「ヌル」派。
だってNULLを「ナル」と読んだら「ぬるぽ」と言えなくなるもの。

136 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 09:58:04.96 ID:qfBMRYbT.net]
>>131
一応買ってみました
でもどうせコンパイラ作るならC++でClangとかの実装を勉強したい

137 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 12:17:10.07 ID:qfBMRYbT.net]
C++好きな人って、C‡‡、Java嫌いな人が多いのって偏見ですか?
関数型言語かRustの話しかしてない気がします

138 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 13:56:12.46 ID:CLrL7dI7.net]
>>135
回文

139 名前:はちみつ餃子 mailto:sage [2019/01/16(水) 15:05:52.98 ID:kJO3cJ8H.net]
>>132
C++ の言語としてのポリシーはこのように提示されている。
Stroustrup 自身がその著書に書いたもの。
委員会の公式な文書にするとかどうとかいう議論はあったけど、
結局どうなったのかは知らない。

・C++ の進化は現実の問題をその動因とする
・完全主義にはこだわらない
・C++ は今現在役に立つ言語でなければならない
・人に何かを強制しない
・静的タイプシステムに対する暗黙の違反が無い
・同じ機能なら人に教えやすい方を選ぶ
・C のプリプロセッサは使わないように
・C との正当でない非互換性が無い
・C++ 以外に他の低レベル言語を必要としない (アセンブラは除く)
・使わない機能はコストを発生させない

これらの考え方に基づいて今要求されているものが (不完全でも) より素早く反映しやすくする
リリース体制として ship train model が導入された。
多くの人が関わるので妥協はあるだろうが、一環したポリシーの下で改定されている。

そのポリシーを気に入らないでいる自由はあるし、それはどんどん主張して良いが、
ポリシーが無いというのは事実誤認だし、自分にとって妥当ではないからといって
必要としている人を侮辱するべきではないよ。

140 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 15:25:10.37 ID:mUX6kDFm.net]
俺が以前「D&E読んでないのか」、って言ったせいではちみつはD&Eの受け売りするようになったな・・・

ttp://i-saint.hatenablog.com/entry/20101012/1286822888
「あるプログラム言語を使うためにその言語の弁護人になるべきではない。」
そういうただの弁護人になってるバカは大抵C++を実用レベルで使ってない人間ばっかりだ

141 名前:デフォルトの名無しさん [2019/01/16(水) 15:27:49.73 ID:vTKVQdGX.net]
そやな

142 名前:はちみつ餃子 mailto:sage [2019/01/16(水) 15:39:55.50 ID:kJO3cJ8H.net]
>>140

このスレで言われたから読んだということは無いはずだが、どの発言のこと?
正確に覚えてないけど
私が持ってるやつは (日本語版の) 初版だからたぶん 2006〜2007 年頃には読んでるはず。

143 名前:はちみつ餃子 mailto:sage [2019/01/16(水) 15:56:46.23 ID:kJO3cJ8H.net]
現実的な問題があるならそれは解決されなければならない問題であって、
改定を先延ばしにすることを要求するのはおかしな話じゃない?

ドキュメントが追い付いていないのは、これは確かにあるけど、
翻訳とかに時間がかかるのが分かっているから
早め早めに改定がリリースされるのはむしろありがたいことでしょ。
デカい改定が一気にくるよりは。

constexpr が限定的に過ぎるとかいうのはわかってる話で、
だから制限を緩くしたり consteval を検証したりしてるんだろ。
それでも必要だと判断したから入れたんだから、
そこに文句付けたって今更な話で擁護もクソもない。
駄目な部分があるのは知ってるっつーの。 それでも要るんだよ!



144 名前:135 mailto:sage [2019/01/16(水) 17:16:27.25 ID:Cj0f6L/5.net]
>>138 回文には気づかなかった。
「なるな」「人間に」がそれぞれ反転同一で、
それらフレーズを反転同一になるように並べて作成した回文か。
「人間になるな人間に」でも構造的には同じね。

いくらかPPAPな感じがしないでもない。
あと、正規表現のパズルっぽくもある。

145 名前:はちみつ餃子 mailto:sage [2019/01/16(水) 17:26:40.42 ID:kJO3cJ8H.net]
酢にピリッとした風味を足すのに使えます

_人人人人人人_
> スピリタス <
 ̄Y^Y^Y^Y^Y^Y ̄

146 名前:はちみつ餃子 mailto:sage [2019/01/16(水) 17:28:13.10 ID:kJO3cJ8H.net]
>>145
すまん。 誤爆した。

147 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 17:58:49.69 ID:Cj0f6L/5.net]
はちみつと関係ないと思ったけど、餃子の方には関係ありそう。

しかし、C++スレッドでの真摯な態度と裏腹に、
他所ではどういうキャラクタなんだろ、と思わせる投稿ね。

148 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 18:12:30.55 ID:mUX6kDFm.net]
真摯かねぇ・・・・希望的観測で詳しくないことに首突っ込んだり
自分の間違いや認識の誤りは絶対に認めないクソコテなのに

まぁそれも俺の主観だから他の人がどう思うかは知らんけど。

149 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 18:41:54.90 ID:YdXHJCw6.net]
>>145
風味って鼻から空気が出る時に感じる食べ物の香りかと思ってたわ

150 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 20:40:09.12 ID:iaQOejPk.net]
c++が対象にしてる現実問題って何だ?
c++使う大規模プロジェクトってゲームがまずあると思うけど
例外禁止未だに普通だし標準ライブラリも限定的にしか使わないよ

151 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 20:47:01.61 ID:Tucl/crz.net]
c++で書かれたc++のコンパイラのことだろ
ここが0.001%早くなるだけで世界から年間100000時間くらいが節約できるんじゃねえの

152 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 21:54:11.46 ID:gQtWsPR9.net]
じゃあLLVMのコーディングスタンダードこれな
https://llvm.org/docs/CodingStandards.html

例外、RTTI、iostream使わない
現実に使えるソフトってのはこういう制約で作るわけだ
C++の標準化やってる連中はメタプログラミングで遊んでるだけ
現実問題なんて何もわかってない

153 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 23:10:45.86 ID:4t4UncJr.net]
例外使わないとかないわー
初心者かよ



154 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 23:12:36.63 ID:Xh3PQjx5.net]
だから、ブラウザ、ロケット射的距離のシミュレーション、機械学習

155 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 23:36:41.52 ID:gQtWsPR9.net]
>>153
初心者ってのはC++の例外のバイナリモデル説明できねーやつのことな

156 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 23:44:05.56 ID:gQtWsPR9.net]
>>154
でC++がそれらに対してどんな問題解決してくれたんだ?

157 名前:はちみつ餃子 mailto:sage [2019/01/17(木) 01:07:41.88 ID:/VOhvfFp.net]
>>152
そこらへんはしゃーない。 便利な機能も害悪な場面は有るし、
ある時点では有用だったものが後には足を引っ張ることもある。
あるプロジェクトで縛りを設けるからといって
それが現実の全てというわけではない。

ただ、例外を使わない方向というのは大きなプロジェクトでは
そこそこあるかも?

>>153
例外が忌避されるのは他の言語と接続したときに、
呼出した側が例外を捕捉できないというのが致命的で、
つまりはそういった場面が想定されるようなライブラリでの一般的な規則。

外へ出る前に例外を全部キャッチしてしまうってのでも、
まあなんとかならんことはないが、
近頃では std::optional を活用した方がいいという雰囲気はある気がするね。

Go や Rust は最初からそういう方向だし。

158 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 02:01:31.97 ID:l+wuAult.net]
このスレ、初心者を見下す者ばかりだし、

何が 【初心者歓迎】だよ。
【初心者歓迎】はずせ。

そう言うと、「何にもそんなことしてないよ」
とか、レスが来る。
子供スレ。

159 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 08:10:37.95 ID:qOfK2eXQ.net]
optionalはヒープ使わないだけでnullと大差ない
せっかく静的にnot nulが保証されてるとこを壊してしまう
ほとんどアンチパターン

160 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 08:21:29.72 ID:4hvMH0x4.net]
業務でC++使ってない雑魚の意見なんて無視しろ

161 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 08:22:23.19 ID:4hvMH0x4.net]
趣味でC++齧ってるやつと本気で仕事としてやってるやつじゃ格が違うんだよ

162 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 08:22:55.36 .net]
C++では好きなだけ効率を犠牲にして安全を手にすることができる
効率を犠牲にして安全を手にすることを余儀なくされている言語とは区別すべきだ

163 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 08:47:23.41 ID:qOfK2eXQ.net]
業務で使ってない素人は平気で例外禁則とか言って返り値チェックで死ぬほど汚いコード書くんだよな



164 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 09:07:15.76 ID:CHgbqTPA.net]
まぁ業務と違って趣味は時間を無駄につぎ込めるから
人によっては素人の方がレベル高かったりするけどな

そういうのと比較するのはホントやめて欲しい

165 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 09:09:21.72 ID:4hvMH0x4.net]
>>164
は?業務と趣味でやってる奴が一番最強

166 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 10:35:25.89 ID:iQ0t94Qh.net]
>>159
optionalの理解間違ってるよ

167 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 10:39:29.94 ID:iQ0t94Qh.net]
>>163
例外禁止されるのは業務の方だろ
一見汚くなるがそちらの方がバグが少なくメンテしやすいという判断で
トップダウンで強制される
趣味なら最新の機能ばんばん使って自由にやりゃいい

168 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 12:13:15.88 ID:oU9OMPiG.net]
実際には例外を禁止するとバグが増えてメンテしにくくなるんだけどな

169 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 13:51:39.37 ID:l+wuAult.net]
そのソフトが気に入らないなら、
そのソフトを使わなきゃ良いだけだし。
そんなことも、いい年になって、わからないのか。

170 名前:デフォルトの名無しさん [2019/01/17(木) 14:34:02.57 ID:DbtLCT5r.net]
このスレ卒業死体

171 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 14:43:25.66 ID:n6FY+cyG.net]
スレばいいじゃない

172 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 15:55:58.66 ID:K5aWd8xj.net]
setjmp 使えばよろし

173 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 17:20:21.35 .net]
遂に中級者になるのか……



174 名前:さまよえる蟻人間 mailto:sage [2019/01/17(木) 20:25:15.31 ID:e9w/TFC0.net]
>>173
なんでID消えてるの?

175 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 20:47:04.58 ID:iJuNblTy.net]
浪人で消してるんでっしゃろ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<255KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef