C++相談室 part153

■ このスレッドは過去ログ倉庫に格納されています
2020/10/10(土) 23:18:20.00ID:i4F+i14Y
https://mevius.5ch.net/test/read.cgi/tech/1589424805/
※前スレ
C++相談室 part152
https://mevius.5ch.net/test/read.cgi/tech/1594528940/

テンプレおしまい
2020/10/11(日) 00:17:54.48ID:yrSMEX+0
STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?

#include <stdafx.h>
後死ね。

言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
3デフォルトの名無しさん
垢版 |
2020/10/11(日) 07:46:00.50ID:2CDQ3L3B
>>1
乙。
2020/10/11(日) 07:49:37.39ID:eYoRN2yM
>>1
このほとんど投げやりな感じのテンプレがじつにいい
いかにもC++っていう感じがして好き
5デフォルトの名無しさん
垢版 |
2020/10/11(日) 07:52:39.24ID:2CDQ3L3B
などと自画自賛。
6デフォルトの名無しさん
垢版 |
2020/10/11(日) 09:59:16.21ID:kZXFoyze
stdafx.h include したら負け
2020/10/11(日) 13:02:31.31ID:sfgrEAk/
>>1

最近はpch.h
2020/10/11(日) 16:35:47.97ID:sJNU+9dX
>>https://mevius.5ch.net/test/read.cgi/tech/1594528940/914
>普段から、馬鹿な応答が多かったし、

認めましょう

>「自分でコンテナクラス(リストなど)を作れるから天才」
>だとか、男だったら基本中の基本の出来て当たり前の事が出来るだけで天才と言っている

そんな発言はしていませんよ、確かにコンテナを自作する、というのはやったことはありますが、「自分でつくるとイマイチだよね」というのが私の実感です
https://mevius.5ch.net/test/read.cgi/tech/1434079972/33

>如何に周りのレベルが低いかが分かったから。

周り?
私はアマチュアだから、周りにプログラミングをする人はゼロですよ……
2020/10/11(日) 17:01:01.82ID:pM0zGshh
C++の規格以外の話はスレチ…
2020/10/11(日) 22:05:10.68ID:wjXte93n
規格の話限定だったの?ここ
2020/10/11(日) 23:00:26.64ID:pSezOgnt
>>8
わざわざ馬鹿な引きニート相手に真面目な返答しなくても
2020/10/12(月) 02:50:13.21ID:+FLMYxu9
QZ数ヶ月前俺にスルースキルが無いとか偉そうに言ってなかったっけ
C++に関わる話なら個人的には荒れててもいいと思うが、お前のプロフィールなんか誰も興味ないぞ
13デフォルトの名無しさん
垢版 |
2020/10/12(月) 09:52:20.31ID:941JO02h
>>12
ttps://mevius.5ch.net/test/read.cgi/tech/1601271690/125
14デフォルトの名無しさん
垢版 |
2020/10/12(月) 09:57:09.05ID:O4GtI7oq
>>13
それは仕方ないんじゃないかな。
人間だもの。
2020/10/12(月) 10:00:39.31ID:rzm6EDrC
批判されたら自演する修正なんてC++関係ない
2020/10/12(月) 12:54:31.37ID:GHsqP2MR
今とあるOSSのライブラリの動きがあやしいのでデバッグしているんだけど
やっぱりいわゆるモダンなc++はデバッグがつらいわ
デバッガで見てもwrapの嵐でデータの中身になかなかたどり着けない
ステップ実行しててもRAIIをはじめ表面上見えない実装がノイズになってわけわかんなくなる
あとデバッグビルドは恐ろしくパフォーマンス落ちる(Cとかと比べてね)
17デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:12:21.06ID:941JO02h
C++ より C が良いね
2020/10/12(月) 15:18:22.15ID:Z3Kcjb2S
STLの unique_ptr, shared_ptr, vector, list, forward, move
といった非常に基本的なものもソースを解読するのはとても難しく
strcmpが3行くらいしかなかったのが懐かしい。
それにC++11以降の機能は非常に好みが分かれ、好きな人は好きだが
嫌いな人は反吐が出るほど嫌い。
19デフォルトの名無しさん
垢版 |
2020/10/12(月) 15:23:21.42ID:N0jxybIn
Ubuntu20.04でGtkmmでアプリを作っています…ディレクトリとファイル一覧が欲しくて…。
C++17のstd::filesystemを使ったほうがスマートだと思うけど…使えません…。
そんな古い環境ではないと思うんだけど…direntやstatをやればできると思うけど…古いよね?
これカーネルだし…std::filesystemがスマートだと思うんだけど…このUbuntuではまだなの?
-std=c++17のオプションをつけてコンパイルしても駄目だった…。
20デフォルトの名無しさん
垢版 |
2020/10/12(月) 15:27:01.65ID:O4GtI7oq
Ubuntuはgcc9使えたんじゃなかったかな。
gcc8はファイルシステム使うとき、ライブラリをリンクしないといけなかったと思う。

-lstdc++fs

gcc9から必要なかったと思うので、gcc9を使う方をお勧めします。
21デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:15:10.34ID:N0jxybIn
できました!できました!できましたが…EclipseCDT上で…名称が解決できてない感じ…。
とりあえず…動きました…もう少し調査します…。
22デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:27:02.58ID:N0jxybIn
名称も解決できました…使うよ!
23デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:56:02.38ID:941JO02h
>>18
速度も落ちてそう
2020/10/12(月) 19:26:54.38ID:Z3Kcjb2S
>>23
メタプログラミングの部分が複雑なだけで生成されるコードは最短に近い
のではないかと思う。
2020/10/12(月) 20:04:28.37ID:Zjr2Hxnk
設計者ももっと簡潔に書ける技能を身に付けるべきだと思うけどねん
2020/10/12(月) 20:14:11.80ID:9Fo4KCKO
>>19
-std=c++1zとかstd=gnu++1zじゃなかったっけ
27デフォルトの名無しさん
垢版 |
2020/10/12(月) 20:50:41.81ID:O4GtI7oq
文芸的プログラミングですね。
28デフォルトの名無しさん
垢版 |
2020/10/13(火) 02:00:34.30ID:y5TdNrxl
>>25
STLの性能を維持しつつ簡潔に書ける人間
にしか許されない発言
2020/10/13(火) 03:46:05.57ID:jBq+pHZV
汎用的な部品は広い範囲をカバーするわけだから想定すべき状況が多くなるし、
その分だけ相応に複雑になるのは当たり前の話なんだよな。

逆に strcmp が簡潔だったとか言ってもそりゃあ char から成る文字列の比較に
特化していいなら簡潔に出来て当たり前ですよねってだけのことで、
機能が違うものの複雑さを比べようとするのは馬鹿馬鹿しいよ。
2020/10/13(火) 07:14:55.86ID:AAkThgLB
・同名の一時変数を使いまわす
・メモリの節約のために早めにデストラクタを呼ぶ
・スコープを小分けにして可読性を上げる

みたいな目的のために中括弧を多用するのってアリですか?
それともスコープじゃなくて関数を分けろってなりますか?
2020/10/13(火) 09:00:40.68ID:KjGL8AJy
>>29
STLは理屈自体は非常に簡潔だとハゲも言っとる
的外れ

>>30
アリだのナシだの・・・
2020/10/13(火) 09:19:57.42ID:2ekPMyol
STLガーSTLガー言ってるやつ
そもそも++でないCでもポインタ引数2個で始点終点渡すのがロクに書けなさそうだね
33デフォルトの名無しさん
垢版 |
2020/10/13(火) 09:53:49.84ID:f6jDEgc3
STLの凄さがわからない人もいるという。
34デフォルトの名無しさん
垢版 |
2020/10/13(火) 10:50:05.42ID:y5TdNrxl
知ってることの精一杯がポインタのそれなんだな
クスクス
2020/10/13(火) 12:20:09.76ID:2ekPMyol
void fill(int first[], int last[], int val)
{
while (first < last) //えー、配列の大小比較って変じゃん
{
first[0] = val; //常にゼロの添え字って気持ち悪いよー
++first; //やだよー、配列を++なんて
}
} //これだから変態どもは・・・まったく

void fill(int first[], int n, int val) //素直にこう書きやがれ
{
for (int i = 0; i < n; i++) //変数が増えることを気にしないのが富豪だ
{
first[i] = val; //配列要素へのアクセスには[]があるべきなんだよ
}
} //知ってることの精一杯がポインタのそれなんだなksks


もうさ、こいつ無理にC++使わなくてよくね?
2020/10/13(火) 12:30:12.68ID:y5TdNrxl
雑魚おつ
3731
垢版 |
2020/10/13(火) 12:48:18.65ID:alJhtdGu
いや、あの・・・
STL自体は非常に良く出来てると思うが、俺普段C++(あるいはC++11以降)マンセーSTLマンセーしてる連中は馬鹿にしてるからね・・・w
お前が作ったんちゃうやろと
38デフォルトの名無しさん
垢版 |
2020/10/13(火) 12:50:17.06ID:FpFGKRx+
void fill(int *first, int *last, int val)
{
while(first < last) *first++ = val;
}
2020/10/13(火) 12:52:08.93ID:jGpIs/AO
理解は出来ないわけじゃなくSTL流に書くのが汚くて馬鹿みたいに感じるだけだ。
2020/10/13(火) 12:54:03.28ID:jGpIs/AO
配列は処理対象を個数で表現するほうが分かり易いし完結なのに、終端要素で
表そうとするのは単にSTLのとった設計思想の都合でしかないので
馬鹿っぽく感じる。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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