C++相談室 part147

レス数が1000を超えています。これ以上書き込みはできません。
2019/12/18(水) 17:56:53.03ID:uFDqtnkl
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part146
https://mevius.5ch.net/test/read.cgi/tech/1573094136/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)

STLつかうと一気に実行ファイルサイズが10倍に?!

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

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

↑え?だってお前、普通ダイナミックリンクするだろ?
"ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**
2020/01/31(金) 12:45:36.65ID:GGrzMUVS
なんか勝手に幻想抱いてるけどポインタに入れるものは常にアドレスだから
何もおかしくない
978デフォルトの名無しさん
垢版 |
2020/01/31(金) 12:46:08.71ID:YmbKsQW3
VLTのto_addressは欲しい
2020/01/31(金) 12:46:37.74ID:v4E0eL1J
でさ、
age_t get_int() ってのを見たとき
「age_t の中身は int だし
 int を get してそれが age_t に入っているのだから
 解釈としては問題ない」
って感じのことを言ってるレスが結構あったけど
俺はなんか違うような気がするって言ってるわけ
2020/01/31(金) 12:48:59.87ID:v4E0eL1J
具体的には >>977 とかね
age_t の中身は常に int だから〜的な
だとしても age_t get_int() とは書かんだろう、というのが俺の主張だから
2020/01/31(金) 13:07:50.38ID:AatGgooz
アドレスとポインタってのは
ageとage_tの関係
2020/01/31(金) 13:13:53.02ID:GGrzMUVS
じゃあint *p = &a;の&もアドレスを取る演算子じゃなくて
ポインタを取る演算子に名前変えてもらうようにお願いしたら?
2020/01/31(金) 17:37:24.29ID:aVH6lH01
アドレスはデコーダに入力するビット列 (ハードウエアの概念)
ポインタはアドレスを扱うことを目的とするデータ型 (プログラム言語の概念)

IEEE754とdoubleのような関係だ
2020/01/31(金) 17:44:13.04ID:MQmpFGUT
通常はポインタが数値であることなんてのは意識せんわな。
リングバッファなんかを取り扱うなら嫌でも意識することになるが。
2020/01/31(金) 18:16:27.29ID:HzrC4w9c
ポインタが数値がどうか意識しないと
リングバッファも作れないようなのが
C++を使うのか
2020/01/31(金) 18:34:36.50ID:Dscz4LHl
分岐無くす高速化でもしているんじゃね
2020/01/31(金) 18:37:20.08ID:CZDp2h8t
>>976
その例は逆
アドレスとポインタは本質(イデア)とその表現の関係にある
(イデア <-> 表現)
年齢 <-> 整数
色 <-> RGB値
アドレス <-> ポインタ

この関係に照らせば、年齢を取得する場合は
int get_age();
だし、色を取得する場合は
RGB get_color();
だし、アドレスを取得する場合は
T* get_address();
になる
2020/01/31(金) 18:53:37.33ID:Nt0XFA2s
その哲学続けるの
2020/01/31(金) 19:10:20.77ID:xOuBGXY8
>>986
分岐?
それも普通は不要

アドレスを意識するのはDMAなど
ハードウェアでリングバッファを使う時くらい
2020/01/31(金) 19:13:50.70ID:MjAWY572
ハードウェアとのDMAならポインタにいれるアドレス自体は気にしないだろ
特定の物理メモリを適当な仮想アドレスにマップして使うのだし
2020/01/31(金) 19:35:40.34ID:xOuBGXY8
DMAが扱うのは物理アドレス
2020/01/31(金) 19:42:13.08ID:xOuBGXY8
じゃないのもあったりするのか?
チープなマイコンのDMAしか直接扱ったことがなくて
2020/01/31(金) 19:51:22.09ID:aVH6lH01
仮想アドレスってことはページフォールトがあるってことだろ
OSによってページインされるまで待つことになるが
そこまでペリフェラルで面倒見る必要あるか考えてみそ
2020/01/31(金) 19:51:32.08ID:tTpxWp9S
>>933
どれくらいブラックでしょうか?
https://mevius.5ch.net/test/read.cgi/tech/1434079972/21
https://ideone.com/9KIuSD
2020/01/31(金) 19:53:30.58ID:aVH6lH01
未練
2020/01/31(金) 19:54:58.34ID:xOuBGXY8
>>993
フォルトならエラーで止めときゃいいんでない?
そこまでハードで面倒見る必要は無い
2020/01/31(金) 19:55:32.42ID:yrj+fbAX
最近はIOMMUが一般的
2020/01/31(金) 20:02:09.40ID:yrj+fbAX
>>993
おいおいそんなわけないだろ
デバイスがさわるメモリはページアウトしない
でも物理アドレスを使わない理由は何でしょう?
あスレ違いだな
2020/01/31(金) 20:34:35.43ID:aVH6lH01
>>996
ペリフェラルって何だと思う?

>>998
循環論法だな
2020/01/31(金) 20:54:47.19ID:Nt0XFA2s
C++相談室 part148
https://mevius.5ch.net/test/read.cgi/tech/1580471646/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 44日 2時間 57分 54秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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