次スレを立てる時は本文の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
723デフォルトの名無しさん
2019/03/26(火) 03:04:08.84ID:5DO30Xtv Visual Studio使ってたらインテリセンスがautoをコンパイル前に展開して表示してくれるけど
724デフォルトの名無しさん
2019/03/26(火) 03:05:29.57ID:5DO30Xtv テンプレート以外で変数がコンパイル前に決まらないことってあるの?
テンプレートならauto使う必要なくね
テンプレートならauto使う必要なくね
725デフォルトの名無しさん
2019/03/26(火) 03:35:14.19ID:D6PYEJQv テンプレートだからこそ使いたい。
726デフォルトの名無しさん
2019/03/26(火) 03:48:53.98ID:fe5vrK8S727デフォルトの名無しさん
2019/03/26(火) 04:01:17.90ID:fe5vrK8S >>692
実感として、年々汚くて使いにくい仕様が増えている気がする。
実感として、年々汚くて使いにくい仕様が増えている気がする。
728デフォルトの名無しさん
2019/03/26(火) 07:21:28.81ID:JExaD8IX729デフォルトの名無しさん
2019/03/26(火) 09:23:59.45ID:Uaj934aJ >>722
仕事で流行ってる流行ってないなんて関係ないだろw
仕事で流行ってる流行ってないなんて関係ないだろw
730デフォルトの名無しさん
2019/03/26(火) 09:42:45.74ID:SW23xWSB 流行ってない=情報がない、人がいない、資産がない=ゴミ
731デフォルトの名無しさん
2019/03/26(火) 11:19:13.28ID:T41fm+6R ビジネスの都合しか考えられないゴミ
JavaとかC#使ってれば
JavaとかC#使ってれば
732デフォルトの名無しさん
2019/03/26(火) 12:49:08.72ID:hIENxLfE ビジネスの都合でc++って場合が多いだろ
ここに居るような奴等は
ここに居るような奴等は
733デフォルトの名無しさん
2019/03/26(火) 15:10:01.00ID:5W15sMAG734デフォルトの名無しさん
2019/03/26(火) 17:06:14.62ID:fe5vrK8S >>733
そういう名称の問題だけに限った話ではなくて、結論から言えば、仕様を
多数決で決めてしまうと初心者向けの言語になる。スクリプト言語とかに
近いような。
構造的な問題とか、統一感的な問題とかもあるし、そもそも、C/C++の
良さまで失うような標準仕様だとかも、例えば、boost などの、
stl = standard template library なんかも、ここでは信者が多いかの
用に見えるけど、まるでC/C++とは思想の異なる全く別のスクリプト言語の
ような仕様になっている感じがする。
そういう名称の問題だけに限った話ではなくて、結論から言えば、仕様を
多数決で決めてしまうと初心者向けの言語になる。スクリプト言語とかに
近いような。
構造的な問題とか、統一感的な問題とかもあるし、そもそも、C/C++の
良さまで失うような標準仕様だとかも、例えば、boost などの、
stl = standard template library なんかも、ここでは信者が多いかの
用に見えるけど、まるでC/C++とは思想の異なる全く別のスクリプト言語の
ような仕様になっている感じがする。
735デフォルトの名無しさん
2019/03/26(火) 17:40:36.88ID:hIENxLfE736デフォルトの名無しさん
2019/03/26(火) 17:46:54.15ID:NEQZ2SJi >>735
1998年くらいまでのC++はまあまあ良いと思っていたが、それ以後、別の
言語になってきてる気がする。特にここの人はSTL信者が多いが、
実は、98年くらいまでのC++とは似ても似つかないものだよ。
それを使ったコードには、往年の C の片鱗さえも残ってない。
だから、言語名から C という冠を下ろすべきだ。
1998年くらいまでのC++はまあまあ良いと思っていたが、それ以後、別の
言語になってきてる気がする。特にここの人はSTL信者が多いが、
実は、98年くらいまでのC++とは似ても似つかないものだよ。
それを使ったコードには、往年の C の片鱗さえも残ってない。
だから、言語名から C という冠を下ろすべきだ。
737デフォルトの名無しさん
2019/03/26(火) 17:51:58.82ID:hIENxLfE 信者も何も標準コンテナ使わずに何使うんだよ
自前で書くとかそれこそダメな方向だろう
eastlなんかでも使用感をなるべく標準に近づけているのに
自前で書くとかそれこそダメな方向だろう
eastlなんかでも使用感をなるべく標準に近づけているのに
738デフォルトの名無しさん
2019/03/26(火) 18:00:25.71ID:XEttPGHl C++98以前のC++が今より良いってどんなマゾだよ
739デフォルトの名無しさん
2019/03/26(火) 18:04:33.55ID:hIENxLfE template自体嫌いなんかな
それもうCで良いじゃない
それもうCで良いじゃない
740はちみつ餃子 ◆8X2XSCHEME
2019/03/26(火) 18:10:49.26ID:qKdh3SVz C++ の仕様に STL などというものは存在しない。
かつて STL と呼ばれていたものは完全に C++ の一部になっているし、
仕様の他の項目と区別する方法はない。
C++ 使いが C++ の機能を使うのは当たり前だ。
気に入らないと思うのは自由だし、良くない部分だって実際あるが、
常識的には標準が用意しているライブラリは言語の利用方法を体現するものであって、
言語の基本思想と極端に乖離してるわけないだろ。
かつて STL と呼ばれていたものは完全に C++ の一部になっているし、
仕様の他の項目と区別する方法はない。
C++ 使いが C++ の機能を使うのは当たり前だ。
気に入らないと思うのは自由だし、良くない部分だって実際あるが、
常識的には標準が用意しているライブラリは言語の利用方法を体現するものであって、
言語の基本思想と極端に乖離してるわけないだろ。
741デフォルトの名無しさん
2019/03/26(火) 18:36:42.18ID:5P0efKyY 標準ライブラリだからといって使う義務はないわけで
最小限のランタイムで動くnative言語というところがc++を使う理由になってるプロジェクトが多いだろう
その目的にそぐわないのが今の標準ライブラリのデザイン
メタプログミングの遊び場とかしている
ただし20年前と比べるのはどうかと思うが
最小限のランタイムで動くnative言語というところがc++を使う理由になってるプロジェクトが多いだろう
その目的にそぐわないのが今の標準ライブラリのデザイン
メタプログミングの遊び場とかしている
ただし20年前と比べるのはどうかと思うが
742はちみつ餃子 ◆8X2XSCHEME
2019/03/26(火) 18:44:59.17ID:qKdh3SVz 標準ライブラリをどうしても使わなきゃならんってことはないけど、
使わないための積極的な理由がなきゃ標準を選択するよ。
リソースが制限されているところで使わないっつーならそれはそれでいいよ。
それも出来るのが C++ だからな。
使わないための積極的な理由がなきゃ標準を選択するよ。
リソースが制限されているところで使わないっつーならそれはそれでいいよ。
それも出来るのが C++ だからな。
743デフォルトの名無しさん
2019/03/26(火) 19:08:13.59ID:NEQZ2SJi 結論から言えば、STLはライブラリとしての「センス」が悪い。
POSIX の fopen()系や printf() 系などは使いやすいと思っていたが、
STLにはそれを感じないし、coutも変だったが STLもそれと同じ轍を踏んでる感じ。
POSIX の fopen()系や printf() 系などは使いやすいと思っていたが、
STLにはそれを感じないし、coutも変だったが STLもそれと同じ轍を踏んでる感じ。
744デフォルトの名無しさん
2019/03/26(火) 19:17:04.87ID:+JfIlK2p >>743
お前さんのレスからは、「僕の好みじゃないからヤダヤダ」という程度のことしか見えてこない。
お前さんのレスからは、「僕の好みじゃないからヤダヤダ」という程度のことしか見えてこない。
745デフォルトの名無しさん
2019/03/26(火) 19:19:36.63ID:NbUyZWCM 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 86052
https://you-can-program.hatenablog.jp
https://you-can-program.hatenablog.jp
746デフォルトの名無しさん
2019/03/26(火) 19:23:47.27ID:/YNua4WM メイヤーズは最高に美しいライブラリと言っている
747デフォルトの名無しさん
2019/03/26(火) 19:27:39.30ID:otrrnTwO すっぱい葡萄
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" があるが、これは「負け惜しみ」を意味する。
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" があるが、これは「負け惜しみ」を意味する。
748デフォルトの名無しさん
2019/03/26(火) 19:27:52.44ID:NEQZ2SJi やっぱりネットは駄目だ。
頭の悪いプログラマが支配してる。
頭の悪いプログラマが支配してる。
749デフォルトの名無しさん
2019/03/26(火) 19:29:16.09ID:fe5vrK8S750はちみつ餃子 ◆8X2XSCHEME
2019/03/26(火) 19:30:19.23ID:qKdh3SVz cout よりも printf が相対的に良いという人はたくさんいると思うが、
iostream が特に駄目ってだけで、
C++ 的に見れば printf がセンスいいとはとても言えんぞ……
iostream が特に駄目ってだけで、
C++ 的に見れば printf がセンスいいとはとても言えんぞ……
751デフォルトの名無しさん
2019/03/26(火) 19:31:00.18ID:eqSsbUbG 昔みたいにドヤ顔してboost使う必要がなくなったのはいいことだと思うよ。標準が充実していってさ。
最初からヌエ的な発展しかありえないのはそういうものだと思うし。
最初からヌエ的な発展しかありえないのはそういうものだと思うし。
752デフォルトの名無しさん
2019/03/26(火) 19:31:45.68ID:5p1uA41w753デフォルトの名無しさん
2019/03/26(火) 19:34:05.19ID:5p1uA41w あ、すまん逆ではなかったな
754デフォルトの名無しさん
2019/03/26(火) 19:39:12.76ID:fe5vrK8S ただ、多数決というのは、正しくも良くも無いけどな。
755デフォルトの名無しさん
2019/03/26(火) 19:48:04.23ID:gp3lODpj だったら君が最高の言語を作ればいい
設計は君の最高のセンスをふんだんに盛り込んで独裁的にやればいいよ
設計は君の最高のセンスをふんだんに盛り込んで独裁的にやればいいよ
756デフォルトの名無しさん
2019/03/26(火) 19:59:43.01ID:otrrnTwO とりあえず全員ダメージ受けとけ。
757デフォルトの名無しさん
2019/03/26(火) 20:35:50.63ID:OoUi3Qk7 stlのないC++なんてクリープ入れないコーヒーみたいなもん
758デフォルトの名無しさん
2019/03/26(火) 21:11:51.51ID:ExDeReqX >>740
C++ の仕様にSTLがないって本当かいな、と思って調べたら
確かに n3337.pdf (C++11のドラフト?) には STL という単語が出てないね。
STLのセンスが良いか悪いか、使うべきか使わざるべきか、
その辺について意見を出せるほど見識はないんで、事実の報告だけ。
『プログラミング言語C++』第4版に「STLなんちゃら」って章が
いくつか載ってるから、仕様の言葉だと思ってたわ。
C++ の仕様にSTLがないって本当かいな、と思って調べたら
確かに n3337.pdf (C++11のドラフト?) には STL という単語が出てないね。
STLのセンスが良いか悪いか、使うべきか使わざるべきか、
その辺について意見を出せるほど見識はないんで、事実の報告だけ。
『プログラミング言語C++』第4版に「STLなんちゃら」って章が
いくつか載ってるから、仕様の言葉だと思ってたわ。
759デフォルトの名無しさん
2019/03/26(火) 21:17:41.21ID:zBAPpXX5 プログラミング言語C++に後にSTLとなるテンプレートライブラリ作ってストロストラウップに勧めに来た奴が居たので
ストロストラウップが試したら、彼が信条とする「良いライブラリ10箇条に全部あてはまってこりゃスゲーとなったという
エピソードがあったような
なかったような
ストロストラウップが試したら、彼が信条とする「良いライブラリ10箇条に全部あてはまってこりゃスゲーとなったという
エピソードがあったような
なかったような
760デフォルトの名無しさん
2019/03/26(火) 21:25:01.06ID:5p1uA41w STLは俗称だし、定義も曖昧
皆そう呼ぶのが便利だからSTLという呼び方してるだけ
HPの研究所で働いてたAlex Stepanovが発案して94年あたりに持ち込んだっぽい
ライブラリじゃなくて、いわゆる「汎用コンテナ(データ構造)ライブラリ」についてBjarneが重要と考えたチェックリストのほぼ全部にパスした
皆そう呼ぶのが便利だからSTLという呼び方してるだけ
HPの研究所で働いてたAlex Stepanovが発案して94年あたりに持ち込んだっぽい
ライブラリじゃなくて、いわゆる「汎用コンテナ(データ構造)ライブラリ」についてBjarneが重要と考えたチェックリストのほぼ全部にパスした
761デフォルトの名無しさん
2019/03/26(火) 21:30:19.89ID:pGZA6Dfc c++の仕様にSTLが無くてもrange-based forのようにSTLが備えてるbegin,endに依存した構文は出てる。
762デフォルトの名無しさん
2019/03/26(火) 21:41:34.25ID:aW2tbkLS STLつってもどうせvectorとmapくらいしか使っとらんだろ。
まあそれで十分なんだが。
まあそれで十分なんだが。
763デフォルトの名無しさん
2019/03/26(火) 21:52:00.50ID:2lj4xCZe STLという言葉を発することがもうほとんどなくないか?
stdは使うけど、まあどっちも輪郭のはっきりしない言葉だ
stdは使うけど、まあどっちも輪郭のはっきりしない言葉だ
764デフォルトの名無しさん
2019/03/26(火) 21:53:11.01ID:D6PYEJQv STLは洗練されている。
素晴らしいデザイン。
コンセプトが入ったらさらに洗練できると思う。
素晴らしいデザイン。
コンセプトが入ったらさらに洗練できると思う。
765デフォルトの名無しさん
2019/03/26(火) 21:58:59.96ID:5P0efKyY >>742
リソースが制限されてるというより、最大限のパフォーマンス出す場合な
つまりリソースがリッチかどうかは直接関係ない
AAAのpcゲームとかね
パフォーマンスそこそこでいいならc++なんか使う理由がない
遊び以外
リソースが制限されてるというより、最大限のパフォーマンス出す場合な
つまりリソースがリッチかどうかは直接関係ない
AAAのpcゲームとかね
パフォーマンスそこそこでいいならc++なんか使う理由がない
遊び以外
767デフォルトの名無しさん
2019/03/26(火) 22:05:23.77ID:Pu4N06vt 最大限のパフォーマンスを出すために作ったeastlみたいなのも標準の使用感踏襲するくらいには標準の設計は良くできているよ
768デフォルトの名無しさん
2019/03/26(火) 22:05:31.83ID:D6PYEJQv STLはわしが育てた。
769はちみつ餃子 ◆8X2XSCHEME
2019/03/26(火) 22:17:08.86ID:qKdh3SVz そうか。
770デフォルトの名無しさん
2019/03/26(火) 22:23:19.39ID:d5snerrZ tupleはSTL?
771デフォルトの名無しさん
2019/03/26(火) 22:33:50.26ID:5P0efKyY772デフォルトの名無しさん
2019/03/26(火) 22:49:38.25ID:D6PYEJQv C++2zには俺の作ったライブラリが標準搭載されると思う。
773デフォルトの名無しさん
2019/03/26(火) 23:13:14.99ID:T41fm+6R 天下のマイクロソフトが考えたATLでもいいんだぞ
774デフォルトの名無しさん
2019/03/26(火) 23:32:43.00ID:zBAPpXX5 ATL(adult T-cell leukemia-lymphoma)は語呂が悪い
775デフォルトの名無しさん
2019/03/26(火) 23:38:15.00ID:zBAPpXX5 std::tuppleはPythonフリークが無理矢理ねじ込んだのではないか
C++11で追加された可変長テンプレートなくして有り得なかったコンテナやし
std::pairと被っとる
C++11で追加された可変長テンプレートなくして有り得なかったコンテナやし
std::pairと被っとる
776デフォルトの名無しさん
2019/03/26(火) 23:43:43.21ID:T41fm+6R tupleなんかどの言語にもあるだろ
現代の言語の基本的概念の一つで当然サポートされるべき
現代の言語の基本的概念の一つで当然サポートされるべき
777デフォルトの名無しさん
2019/03/26(火) 23:49:19.01ID:WJaRDiZ5 ライブラリでサポートだけどな
これがダメなところ
これがダメなところ
778デフォルトの名無しさん
2019/03/27(水) 00:07:37.22ID:QPwampGA 何で?
779デフォルトの名無しさん
2019/03/27(水) 00:38:40.54ID:Wsy7XdfH780デフォルトの名無しさん
2019/03/27(水) 00:42:46.01ID:bx8pTnoV なんちゃらラウップは言いにくいからいつも
ビョーーンさん、と呼んでいる
ビョーーンさん、と呼んでいる
781デフォルトの名無しさん
2019/03/27(水) 00:47:30.04ID:Mw4em8Pz tupleは型関数でも重宝するよね
782デフォルトの名無しさん
2019/03/27(水) 00:56:42.26ID:ZXIZSYy+ タプルはなにが嫌といって get<0> とかいうのがものすごく嫌
要素が4個ぐらいになったら1年後ぐらいにコード書き直そうとして
・・えっとこの値取りだすの get<1> だっけ? get<2> だっけ?とか絶対なるから使わない
要素が4個ぐらいになったら1年後ぐらいにコード書き直そうとして
・・えっとこの値取りだすの get<1> だっけ? get<2> だっけ?とか絶対なるから使わない
783デフォルトの名無しさん
2019/03/27(水) 00:58:48.50ID:DfX99uD1 そんな貴方にenum定数
784デフォルトの名無しさん
2019/03/27(水) 01:03:41.91ID:Mw4em8Pz いい加減enumにメンバ関数定義させろと。
enum classの時にどうにかすべきだった気もするが。
後は静的なリフレクションも
enumと文字列の相互変換とか殆ど定型コードになるのにいちいち書くのが面倒すぎる。
マクロで書くのも微妙だし
enum classの時にどうにかすべきだった気もするが。
後は静的なリフレクションも
enumと文字列の相互変換とか殆ど定型コードになるのにいちいち書くのが面倒すぎる。
マクロで書くのも微妙だし
785はちみつ餃子 ◆8X2XSCHEME
2019/03/27(水) 02:16:29.42ID:1nw30Wbv786デフォルトの名無しさん
2019/03/27(水) 02:25:21.92ID:Mw4em8Pz 標準コンテナ使わないらしい人の
抜群のセンスを見てみたいので、コードの一部でも見せて欲しいものだな
抜群のセンスを見てみたいので、コードの一部でも見せて欲しいものだな
787デフォルトの名無しさん
2019/03/27(水) 02:59:41.39ID:V3NaDuAs Eigenが絶妙に不便なんだけど行列演算を標準でサポートする予定ってあるの?
788デフォルトの名無しさん
2019/03/27(水) 03:31:56.74ID:Wsy7XdfH >>786
アイデア盗まれるだけ損。
アイデア盗まれるだけ損。
789デフォルトの名無しさん
2019/03/27(水) 06:12:39.11ID:0QkCU47u センスが悪いというだけで具体的にどこがどう悪いか、どんなだったらセンスが良いのか言わないと、説得力ゼロだな。
790デフォルトの名無しさん
2019/03/27(水) 06:31:30.44ID:J3LATpLk >>743
+1
+1
791デフォルトの名無しさん
2019/03/27(水) 06:40:01.31ID:J3LATpLk >>780
禿
禿
792デフォルトの名無しさん
2019/03/27(水) 06:52:27.00ID:Ojl0EpZo >>784
定型文ならtemplateで書けないの?
定型文ならtemplateで書けないの?
793デフォルトの名無しさん
2019/03/27(水) 07:12:11.84ID:Mw4em8Pz >>792
やりたいことは単にenumの値の識別子とその文字列を対応付けるだけなんだが、templateで書けるの?
enum class Color {
Red,
Green,
Blue
};
inline auto to_string(Color c)
{
switch (c){
case Color::Red:return "Red";
...
}
}
こんな感じのことがしたい
やりたいことは単にenumの値の識別子とその文字列を対応付けるだけなんだが、templateで書けるの?
enum class Color {
Red,
Green,
Blue
};
inline auto to_string(Color c)
{
switch (c){
case Color::Red:return "Red";
...
}
}
こんな感じのことがしたい
794デフォルトの名無しさん
2019/03/27(水) 07:24:00.67ID:DfX99uD1 マクロ Stringizing Operator (#) を使うしかないのでは。
795デフォルトの名無しさん
2019/03/27(水) 07:44:38.63ID:QPwampGA796デフォルトの名無しさん
2019/03/27(水) 07:59:25.35ID:KDFmmUkx ストラウストラップも例外入れるかどうかあたりまでは
かなり真剣に仕様を考えてた印象だけれどそれ以降はタガが外れた感じだ。
最近はもうどうしようもなくなってる。
かなり真剣に仕様を考えてた印象だけれどそれ以降はタガが外れた感じだ。
最近はもうどうしようもなくなってる。
797デフォルトの名無しさん
2019/03/27(水) 08:00:04.09ID:Ojl0EpZo >>793
その処理ならmapかunordered_map使うのが良くないだろうか?
その処理ならmapかunordered_map使うのが良くないだろうか?
798デフォルトの名無しさん
2019/03/27(水) 08:06:10.74ID:QPwampGA なお誰もストラウストラップに意見を出せるほどプログラミング言語の勉強をしていないもよう
799デフォルトの名無しさん
2019/03/27(水) 08:07:01.17ID:Kgbo0Zp4800デフォルトの名無しさん
2019/03/27(水) 08:25:16.34ID:HgdvOlrd 関数の引数として vector<int> を参照渡ししたいのですが、これのデフォルト引数を空の vector<int> にする方法ってありますか
801デフォルトの名無しさん
2019/03/27(水) 08:33:50.59ID:pdL3Pyxp std::vector<int> &v = std::vector<int>() じゃないのん
802デフォルトの名無しさん
2019/03/27(水) 08:43:24.12ID:HgdvOlrd >>801
参照渡しでもそのやり方できますか?
参照渡しでもそのやり方できますか?
803デフォルトの名無しさん
2019/03/27(水) 08:45:04.79ID:pdL3Pyxp やればわかる
804デフォルトの名無しさん
2019/03/27(水) 09:24:45.56ID:7IO5xMdH const?
805デフォルトの名無しさん
2019/03/27(水) 09:33:08.23ID:p4oEJ8zd >>786
センスうんぬんを言ったのはおれじゃないけど、
標準ライブラリ使わないという主張に対して、ソースがエレガントかどうかを問うのは目的がわかってない
端的にいうと標準ライブラリのオーバーヘッドが許容できないんだよ
多少記述が汚くなろうがパフォーマンス引き出すのが優先
cとc++のベンチだと結局cの方がいいスコアになってること多いだろ
(全てがそうでないのは知ってる)
そこをcと同等まで引き上げるわけだ
センスうんぬんを言ったのはおれじゃないけど、
標準ライブラリ使わないという主張に対して、ソースがエレガントかどうかを問うのは目的がわかってない
端的にいうと標準ライブラリのオーバーヘッドが許容できないんだよ
多少記述が汚くなろうがパフォーマンス引き出すのが優先
cとc++のベンチだと結局cの方がいいスコアになってること多いだろ
(全てがそうでないのは知ってる)
そこをcと同等まで引き上げるわけだ
806デフォルトの名無しさん
2019/03/27(水) 09:36:50.33ID:QPwampGA だったらC使ってれば
それ以外の選択肢無いんだから
それ以外の選択肢無いんだから
807デフォルトの名無しさん
2019/03/27(水) 09:40:51.50ID:p4oEJ8zd >>806
そこはアセンブラ使えばというところだろ
そこはアセンブラ使えばというところだろ
808デフォルトの名無しさん
2019/03/27(水) 09:40:55.11ID:pdL3Pyxp809デフォルトの名無しさん
2019/03/27(水) 09:45:55.40ID:p4oEJ8zd いうまでもなく、ボトルネックでないところは労力はかけない
メンテが楽な手法を使う
それに完全にゼロコストなものは普通に使うさ
メンテが楽な手法を使う
それに完全にゼロコストなものは普通に使うさ
810デフォルトの名無しさん
2019/03/27(水) 09:52:34.13ID:U9bjaUkC 標準コンテナでcより遅くなるってどんなパターン?
単方向listで十分なのにlistだと双方向とかそんなやつ?
あんまりlist使わんからよくわからんが
vectorは使い方を余程間違えない限り大抵代替品より速いような
メモリ確保回りはallocator使えばいいし
data使えばただのメモリブロックだよね
単方向listで十分なのにlistだと双方向とかそんなやつ?
あんまりlist使わんからよくわからんが
vectorは使い方を余程間違えない限り大抵代替品より速いような
メモリ確保回りはallocator使えばいいし
data使えばただのメモリブロックだよね
811デフォルトの名無しさん
2019/03/27(水) 10:01:31.18ID:QPwampGA 99%iostreamのこといってるからな
812デフォルトの名無しさん
2019/03/27(水) 10:04:51.88ID:tQ4XPcUj >>810
要素の追加時に容量の拡張が必要かどうかのチェックが入ったりするから、オーバーヘッドはゼロではないよ
要素の追加時に容量の拡張が必要かどうかのチェックが入ったりするから、オーバーヘッドはゼロではないよ
813デフォルトの名無しさん
2019/03/27(水) 10:08:24.05ID:U9bjaUkC814デフォルトの名無しさん
2019/03/27(水) 10:12:49.51ID:QPwampGA Cで作っても同じでワロタ
815デフォルトの名無しさん
2019/03/27(水) 10:22:17.37ID:tQ4XPcUj >>813
便利なものがあれば人間は使ってしまうもんだ
その積み重ねがパフォーマンスの差に繋がる
俺は一般には便利なものを使って時間を節約することでボトルネック解消にかける時間を確保でき、
結果的にパフォーマンスはより高くなると思うけど、そこはスケジュールの制約次第だな
便利なものがあれば人間は使ってしまうもんだ
その積み重ねがパフォーマンスの差に繋がる
俺は一般には便利なものを使って時間を節約することでボトルネック解消にかける時間を確保でき、
結果的にパフォーマンスはより高くなると思うけど、そこはスケジュールの制約次第だな
816デフォルトの名無しさん
2019/03/27(水) 10:29:47.46ID:9ko5ghKo Cマスター「C++は配列に追加するときにサイズチェックするから遅い(キリッ」
wwwwwwwwwwwwwwwwwwwwww
こんな雑魚がでかい顔してるからいつまでもセキュリティホールがなくならないんすなあ
wwwwwwwwwwwwwwwwwwwwww
こんな雑魚がでかい顔してるからいつまでもセキュリティホールがなくならないんすなあ
817デフォルトの名無しさん
2019/03/27(水) 10:34:12.90ID:9ko5ghKo Cマスター「要素追加時にサイズチェックするという便利さの積み重ねがパフォーマンスを落とす(キリッキリッ」
やべえ笑い死にしそう
笑い事じゃないけど
やべえ笑い死にしそう
笑い事じゃないけど
818デフォルトの名無しさん
2019/03/27(水) 12:49:47.89ID:DY72tOrL プロファイラで調べて本当に問題あるならどうにかするけど
ただわざわざc的に書いても大抵誤差レベルでしか変わらんよね
どちらかと言うとバッファの確保の仕方を工夫した方が効果が大きい
ただわざわざc的に書いても大抵誤差レベルでしか変わらんよね
どちらかと言うとバッファの確保の仕方を工夫した方が効果が大きい
819デフォルトの名無しさん
2019/03/27(水) 13:05:12.78ID:fzYgEwLp >>816
トレードオフもわからん雑魚
トレードオフもわからん雑魚
820デフォルトの名無しさん
2019/03/27(水) 13:06:52.67ID:C+1U7WOU >>810
・以下、要素数が N とする。
・C/C++ の原定義の固定長配列は、要素の代入に1クロックしかかからない。もちろん、
O(1)で、物凄く速い。なお、固定長なので「代入」であり「追加」ではない。
・Listはリストだから1個の要素の追加はO(1)で、要素数に依存せず安定した速度が出るが、
内部で、newされるはずなので、最低でも170クロックほどかかってしまう。
・Vectorは動的配列だから、最悪のケースでは要素の追加にO(N)の時間がかかり固定長配列より遅くなる
と思う(よく知らない)。
・以下、要素数が N とする。
・C/C++ の原定義の固定長配列は、要素の代入に1クロックしかかからない。もちろん、
O(1)で、物凄く速い。なお、固定長なので「代入」であり「追加」ではない。
・Listはリストだから1個の要素の追加はO(1)で、要素数に依存せず安定した速度が出るが、
内部で、newされるはずなので、最低でも170クロックほどかかってしまう。
・Vectorは動的配列だから、最悪のケースでは要素の追加にO(N)の時間がかかり固定長配列より遅くなる
と思う(よく知らない)。
821デフォルトの名無しさん
2019/03/27(水) 13:34:58.24ID:tQ4XPcUj >>817
複数の要素を追加するとき、わざわざ事前にまとめてリサイズするか?ということだよ
1要素ずつ処理するのは生ポならかえって面倒になることが多いし、見た目にいかにも非効率そうなコードに見えるから、大抵の人は自然にそうするだろう
一方vectorだとどうだろうね
心理的な問題なの
複数の要素を追加するとき、わざわざ事前にまとめてリサイズするか?ということだよ
1要素ずつ処理するのは生ポならかえって面倒になることが多いし、見た目にいかにも非効率そうなコードに見えるから、大抵の人は自然にそうするだろう
一方vectorだとどうだろうね
心理的な問題なの
822デフォルトの名無しさん
2019/03/27(水) 13:45:54.22ID:tQ4XPcUj 同じようなことはvectorに限らず一般的に言ええて、
例えばC++はRTTIの便利さ故にCと比較してプログラマが無駄なメモリの確保や破棄を行いやすい傾向がある
逆にCだと無駄に大きなバッファ作りがちだったり、バッファの使いまわしによりスレッドセーフでないコードを書きがちであったりする
例えばC++はRTTIの便利さ故にCと比較してプログラマが無駄なメモリの確保や破棄を行いやすい傾向がある
逆にCだと無駄に大きなバッファ作りがちだったり、バッファの使いまわしによりスレッドセーフでないコードを書きがちであったりする
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
- あたしゃやだよ
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【朗報】ケンモジサンが買うふりかけ、二択に絞られる [394133584]
