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


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

C++相談室 part135



1 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 20:20:06.25 ID:o3PNwIlC0.net]
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part134
mevius.5ch.net/test/read.cgi/tech/1516406742/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
mevius.5ch.net/test/read.cgi/tech/1509780815/

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

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

91 名前:片山博文MZ mailto:sage [2018/04/06(金) 23:06:06.99 ID:eB6IhESGd.net]
そうなったら、映像クリエイターになって仕事を請け負って独立できるぞ。プログラマーよりも働き甲斐があるかもしれん。

92 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 23:07:50.12 ID:gYiRH0WM0.net]
どっちも薄給

93 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 00:36:31.30 ID:Y5tUUVb30.net]
やたら伸びてると思ったら1人あたりのレス数多すぎだろ(しかも知らんことに口出し過ぎ

fbxsdkは昔ちょっとしか触ってないが、多分そのVSの3Dシーン作成ってのは3Dのモデルやシーンを.fbxに書き出すプロジェクトじゃね?
そういうのは多分Maya使った方が早いしfbxsdkはどっちにしても要る
あとDirect3D使うならそっちのスレ行ってくれ

94 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 02:00:13.10 ID:xND6FkKma.net]
C++で用意されているキャストと
cのi=(int)j みたいなキャストの違いがよくわからない

95 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 02:09:06.48 ID:+gqqNGFK0.net]
static_cast … 無理のない互換性のある変換。
reinterpret_cast … int から void* 等への強制変換 c の ()キャストと同じ。
const_cast … const 付きから const を無くしたりまたはその逆の変換。
dynamic_cast … 実行時型情報を使って実行時に型情報で互換性を見比べながらの変換。実行時型情報とのリンクが必須。

96 名前:はちみつ餃子 mailto:sage [2018/04/08(日) 03:14:37.94 ID:RvzgDq0H0.net]
>>92
C スタイルのキャストは dynamic_cast 以外の C++ スタイルキャストを兼ね備えている。
安全なキャストも危険なキャストも見た目にわかんないから、
うっかり危険なキャストをしないようにカテゴリ分けしたやつを使った方がいいなって話。

reinterpret_cast や const_cast がどうしても必要な状況になったら、
それはそのプログラムが悪いデザインだというサインだ。
(デバイスドライバとか OS とかの低水準プログラムだと仕方なく使う機会は多いかもしれないけど)

97 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 06:15:21.60 ID:fQMOYFpe0.net]
『プログラミング言語C++』第4版のどこだったかに、
「危険なキャストを行っているソース箇所が目立つように
reinterpret_cast<型> のような長い綴りで見た目もスマートでない
キーワードを選んで導入した」みたいなことが書いてあったな。

98 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 11:13:04.50 ID:NQAA1W7E0.net]
すいませんchar str[1000]に格納されてるこの文字列を、str2[0][]=64 str2[1][]=9 という感じで上手くデータだけ取り出す方法は無いでしょうか

i.imgur.com/MMYajmf.jpg

99 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 11:13:28.36 ID:CEYO7YYHa.net]
ありがとうございます
基本的には見た目の話なんですね



100 名前:デフォルトの名無しさん [2018/04/08(日) 11:44:19.45 ID:rArjzNgz0.net]
C形式のキャストは絶対に使うなって事だよ

101 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 11:44:37.07 ID:ySnMa92f0.net]
>>96
cならsscanfかね
c++ならregexを使うか
そもそもc/c++でやりたい範囲ではないが

102 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 11:44:50.16 ID:wX43tNlZ0.net]
>>96
テキストなのなら、一行ずつ読んで、=で半分にしましょう。
んで、""の中の空白以外を全部取り去って、std::mapにでも突っ込みましょう。

103 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 12:07:31.24 ID:NQAA1W7E0.net]
>>99>>100
めっちゃ難しそうな回答きた・・
ちょっと調べて頑張ってみますありがとうございます

104 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 12:17:01.56 .net]
danger_cast は言い過ぎとして、unsafe_cast くらいにして欲しかった

105 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 12:19:03.34 .net]
hansode_tampan_cast

106 名前:デフォルトの名無しさん [2018/04/08(日) 12:34:24.71 .net]
>>96
・str2はポインタの配列、idxはstr2の添字とする
・1文字ずつループして以下を処理
 「=」が現れるまでまで読み飛ばす
 「 」「"」以外の文字が現れたらstr2[idx++]にその文字へのポインタ格納
・「;」までスキップして¥0に置き換え

107 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 12:36:55.36 ID:NQAA1W7E0.net]
>>104
なんかできそう!やってみますありがとうございます!

108 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 13:00:09.46 ID:CRecF1KTd.net]
reinterpret_cast をポインタ以外に使うのはない

109 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 13:13:04.30 ID:IdsKnaEwM.net]
c向けのライブラリをc++で開発するときは躊躇なく使うかな>reinterpret_cast
あとはargとかparamとかいう名前の引数に好きなデータを突っ込みたいときとか。



110 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 13:57:50.07 .net]
reinterpret_castはゼロオーバーヘッド?

111 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 13:59:32.17 ID:wX43tNlZ0.net]
コンパイラさんが解釈かえるだけだから。新しくなにも確保しない。

112 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 14:55:18.41 ID:XIh7sWbQ0.net]
バイト単位の処理をするときに必ず出てくるだろ

113 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 15:41:01.45 ID:drN9+cfC0.net]
>>107の「あとは」以下の用例多いよね。
スレッドのエントリポイントの引数だの libcurl のコールバックの引数だのそんなので

114 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 17:17:06.93 ID:9PMBUXuM0.net]
バリアント型が無いために野蛮なキャストが生きながらえるんじゃ
さっさとリフレクションとプロパティーとバリアント型を規格に盛り込みなさい

115 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 17:26:02.77 ID:XIh7sWbQ0.net]
>バリアント型が無いために野蛮なキャストが生きながらえるんじゃ
誰も殺そうとしていない

116 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 17:48:08.38 ID:yoJPjKyN0.net]
Windowsとかのメッセージのパラメータなんて、
キャストしないとなにもできないけどな

117 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 20:53:29.38 ID:B7amW+qmM.net]
>>112
> さっさとリフレクションとプロパティーとバリアント型を規格に盛り込みなさい
C+++でも作って勝手にやっててくれ

118 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 21:04:08.52 ID:aevyI+Fp0.net]
C++++でしょ
ill-formedだけど
それでこそアホどもに相応しい

119 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 11:03:03.24 ID:Ecf+pvidM.net]
static_castは長いから、ただのcastにしてほしい
その方がreinterpret_castのunsafe感が高まる



120 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 11:19:04.00 ID:ClY8G0uJa.net]
デフォルトをstatic_castで解釈しないのはなぜ?

121 名前:はちみつ餃子 mailto:sage [2018/04/09(月) 11:23:19.28 ID:fbTUuQs/0.net]
>>117
#define cast static_cast

122 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 15:59:42.60 ID:AbJVhraD0.net]
>>118
互換性

123 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 22:38:54.59 ID:J7f8Y+mC0.net]
>>118
互換性には2種類ある
クラスポインタ変換の場合を例に挙げると
一つは拡張クラスからベースクラスへのアップキャスト
こちらはキャストの明示は必要ない暗黙の型変換が行える
もう一つはベースクラスから拡張クラスへのダウンキャスト
こちらはベースから拡張クラスへの変換に確証が得られている
わけではないのでstatic_castを用いて変換してやらないといけない
このときdynamic_castを使うと実行時に型をチェックしてくれる
のでよりstrictな変換を行わせることができる
できるといってもエラーを発生させるかさせないかの違いだけだけど

124 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 00:58:36.89 ID:KTsfJjko0.net]
>>118
そら互換性のためでしょ

125 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 05:22:39.46 ID:AY1cx8Cu0.net]
>>121
それは互換性じゃなくC++独自の話だね
互換性というからには何と互換なのかという相手がいる

ちなみに、かつて暗黙dynamic_castが提案されて否決となった

126 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 09:48:42.17 ID:PdcJoG7U0.net]
コンソールプログラムのwhile()ループで1文字入力したらループを抜けるときに使うやつって何でしたっけ・・
while(!getchar())だと文字を受けるまで処理がとまってしまいますが、止まらないやつがあったと思うのですが

127 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 10:20:00.71 ID:AY1cx8Cu0.net]
標準に「止まらないキースキャン」はない
conio.hのgetch()や
ioctl.hのioctl()あるいは
windows.hのGetKeyState()のような
処理系依存の関数が必要

128 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 10:30:44.25 ID:h0HOed+p0.net]
linuxならファイルディスクリプタにselectが使えるけど
windowsの場合はファイルディスクリプタとソケットがまた別物だし

129 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 11:04:35.34 ID:PdcJoG7U0.net]
>>125
getch()絡みで調べてたらkbhit()って出てきましたこれです
ありがとうございました
ちゃんと任意のキー押したら抜けれました



130 名前:はちみつ餃子 mailto:sage [2018/04/10(火) 11:10:44.06 ID:141aKXKv0.net]
それって結局はビジーループの一種じゃね?
やりたいことにもよるけど、基本的にはあんまりよくない方法だと思う。

131 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 08:10:31.14 ID:T4s6uHOl0.net]
>>128
まずいですかね?
一日ランニング試験してみたんですが良い感じに動いてるのですが・・

132 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 09:27:42.36 ID:WgIjYyd40.net]
ビジーループにSleep挿入して100msづつ位休む感じでアイドルに見せ掛けるハッタリを噛ます

133 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 12:28:20.43 ID:nyTWTQlG0.net]
はったりじゃないでしょ
それは合格

134 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 12:01:39.22 ID:bHi1VZVu0.net]
低優先度タスクからのプリエンプションが無いOSでSleep(100 ms)したら
優先度関係無く他タスクに100 msを超えて待たされてしまうかもしれない
Sleep()は実行権放棄の呪文としては強力すぐる…

135 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 13:25:03.37 ID:RVvtBgPf0.net]
DOS並にコンソールがクソな環境も珍しいよな
unixベースのシェルに比べるとこんな貧相なものがよく生き残ってこれたとおもふ

136 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 14:27:12.94 ID:AqyGMwU/0.net]
>>132
ウィンドウズの話だけど、threadヘッダのスリープは起こし忘れが少ない気がする。

137 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:00:06.17 ID:7AzbU2hj0.net]
未だにGUIがまともにならないLinuxも珍しいよな

138 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:16:23.39 ID:B3QB9Fpb0.net]
>>135
君に期待しても良いのかな?

139 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:26:38.67 ID:jn5/AQ8F0.net]
誰かがデザイナ雇わないとな



140 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:31:21.78 ID:Tt8LTURP0.net]
まともを定義せよ

141 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:47:45.04 ID:jn5/AQ8F0.net]
美しいGUIか使用上十分なGUIか

142 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 23:04:06.39 ID:WAEnZz2X0.net]
C

143 名前:lass A
{


  void A(B* &b)
  {
  }
};
[]
[ここ壊れてます]

144 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 23:06:11.46 ID:B3QB9Fpb0.net]
毎日使う上では美しさはいらない。シンプルで頼む

145 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 23:08:51.81 ID:WAEnZz2X0.net]
済みません、途中送信してしまいました・・・

Class A
{
  B* _b;

  void A(B* &b)
  {
    _b = b;
    _b = new B();
  }
};

B* b;
A* a = new A(b);
b←newされてない・・・

クラスAのコンストラクタでクラスBのインスタンスを受け取り
newで新たなインスタンスを作成したうえで返そうと思います。
しかし上記のようなプログラムを作成してもインスタンスbは
newされてませんでした。

どうしたらbをnewしたうえで返すことができるようになるでしょうか?

146 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 23:15:39.02 ID:EkNosKh20.net]
void A(B** b)
{
*b = new B();
}
でいいんでないの

147 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 23:23:21.44 ID:9kNArSDya.net]
馬鹿だから分からないんだが教えて
インスタンス渡してからnewするのはなぜ?
ポインタを参照にする意味とは?

148 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 00:33:02.73 ID:/OvgYAab0.net]
>>142
>  void A(B* &b)
>  {
>    _b = b;
>    _b = new B();
>  }

下の方は b = new B(); としたかったんじゃないのか

149 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 00:44:36.47 ID:b/ktaKN+0.net]
A(B*&b) {
b=new B();
_b=b;
}
頭悪いだろオマエラw



150 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 00:52:36.30 ID:b/ktaKN+0.net]
A(B*&b){_b=b=new B();}
もしくは一発で書けば何の問題もおこらんよ

151 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 00:57:54.63 ID:/OvgYAab0.net]
受け取ったインスタンスを全く使ってないがそれが意図した動作なのか

152 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:00:18.78 ID:b/ktaKN+0.net]
参照オブジェクトの概念がよくわかってない
学び直せと言いたい

153 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:04:57.02 ID:VAOccv/70.net]
>>148
インスタンスなんて受け取ってないぞ

154 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:09:03.26 ID:/OvgYAab0.net]
>>150
>>142で「インスタンスを受け取り」と書いてあるから
ポインタ(の参照)でだけどインスタンスを渡しているのだろう
何故受け取っているのかとかの説明は無理だが

155 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:19:33.61 ID:b/ktaKN+0.net]
それにしてもbをnewするとかイミフ
何もしてないじゃんw

156 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:22:46.36 ID:b/ktaKN+0.net]
古いインスタンスを_bに格納して新しいインスタンスをbに返したいのか
新しいインスタンスを作成してbと_b両方に返したいのか
どっちなんだよ

157 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:22:49.52 ID:/OvgYAab0.net]
>>152
b を new するってのは
>b = new B();
のことか?参照で返してるんだよ

何故返す必要があるのかはこれも答えられないが
>>142に new して返そうと思っていますとあるからな

158 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:30:17.78 ID:b/ktaKN+0.net]
_b=new B() は見当たるが
b=new B() ←こんな記述は見当たらないぞ
嘘もたいがいにしとけや

159 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:39:29.12 ID:b/ktaKN+0.net]
>>142
コイツのソース見る限りbに対しては何もしてないでしょ



160 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 03:35:09.27 ID:mYZtkoVNd.net]
すまんすまん

>>142
>B* b;
>A* a = new A(b);

を見落としていた
インスタンスを渡すといっておいてインスタンスを渡していないとは思いもしなかったw
>>147であってるんだろうね

161 名前:デフォルトの名無しさん [2018/04/15(日) 06:03:36.65 .net]
>>142
>  void A(B* &b)
>  {
>    _b = b;
>    _b = new B();
>  }

  void A(B* &b)
  {
    B* new_b = new B();
    b = new_b;
    _b = new_b;
  }

こういうのは愚直に書けばええんや

162 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 08:25:34.99 ID:IUBKEb9a0.net]
AのコンストラクタにBへのポインタのポインタだか参照だかを渡さなくても
Bへのポインタと関係ないAのコンストラクタ、と
A内部のBメンバへのポインタを返すゲッタ、との
組み合わせにする方が素直でねぇか?

class A
{
  B* _b;

public:
  A() {_b = new B();}
  B* ptr_b() const {return _b;}
};

int main(void)
{
  A* a = new A();
  B* b = a->ptr_b();

  return 0;
}


別に確保した「Bを格納すべき領域へのポインタ」を受け取って、
Aの初期化時にBの配置newを行わせたい、という意図かもしれないけど、
元の質問から想像を広げすぎてるよね。

163 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 10:01:16.50 ID:6WpjLuna0.net]
Aが_bをdeleteするために管理するだけのクラスだとしたらスマポ使えという話になる

164 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 10:57:43.04 ID:Yi/sDJN50.net]
前に書き込んだことあるけど
https://qiita.com/notenopg/items/40571e69986a58b888a0
どうじゃ

165 名前:142 mailto:sage [2018/04/15(日) 11:01:19.87 ID:GeT3puOg0.net]
舌足らずでもうしわけありませんでした・・・

クラスBのインスタンスをクラスAで処理していくためにコンストラクタでクラスBの
インスタンスを参照受け取りする仕様にしました。

大半のケースではそのまま処理して終わり、なのですが
まれに受け取ったクラスBのインスタンスをnewし直す必要がありまして
その際受け取ったクラスAのメンバ変数 _b をnewしても受け取り元のインスタンスを
newできないことに悩んでいました

ただオブジェクト指向の観点から見るとあまり美しいプログラミングスタイルでは無いのかもしれませんね。
クラスBのインスタンスはクラスA内部で完全隔離処理するようにした方がいいのかもしれません

166 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 11:19:51.96 ID:6WpjLuna0.net]
BをAしか使わないならAの中に隔離する
他でも使う必要があって、Aの外部でBの寿命を管理してるなら、AにrefreshB()みたいなBをnewし直した時に渡し直す関数を用意する
でいいんじゃないの
本当にBをnewし直す(メモリ上再配置する)必要があるならだけど

実はB自体にreset()用意するだけで済む話のように見える

167 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:55:30.01 ID:eVQUY7wra.net]
c++じゃポインタのこともインスタンスっていうのか

168 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:39:37.81 ID:rsq+XQj0M.net]
>>164
2レス前も読めないのか

169 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 18:30:19.93 ID:51qZxk5sa.net]
理解不足を言い換えてミスしてない風にするのが流行ってるのかな



170 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 22:24:39.46 ID:vR7s+ZvT0.net]
ミスって理解不足からくるじゃん

171 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 23:39:26.36 ID:Mp1WrgTGa.net]
質問あるのですが、
同一PC内の画面機能と処理機能のプロセス間通信はどうやるのが便利ですか?
画面更新速度は100ms周期くらいです。

共有メモリがいいと思ったんですが、ソケット推してる人がいてもやもや
アクセス速度とかNICの通信量とか考えると共有メモリ一択な気がするんですが、どうなんでしょうか?

パイプとマップドメモリはメリット無いので考えていません。

172 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 23:42:01.12 ID:sXJBpbWg0.net]
何を重視するか次第

173 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 23:43:30.47 ID:qZPDSYA20.net]
共有メモリ=マップドファイルのファイル無しやで

174 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 23:43:31.62 ID:51qZxk5sa.net]
そもそも別にする理由は何?
どんなものを想定してるの?
プロセスは常に1対1なの

175 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 23:44:26.87 ID:sXJBpbWg0.net]
OSは?

176 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 23:47:06.30 ID:51qZxk5sa.net]
同一PC内なのにソケットとNICの通信量って何か関係あるの?

177 名前:はちみつ餃子 mailto:sage [2018/04/15(日) 23:53:07.49 ID:aQ0USPFo0.net]
>>168
ソケットって、その場合はUNIXドメインソケットのことだろ。 NIC は関係ない。
プロセス間通信としてはほどほどに速度もあって、ほどほどに疎結合なので十分に選択肢の範囲内だと思う。

178 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 00:28:23.74 ID:TXxoP4/a0.net]
unix domain ソケットがお手軽で便利だけど
時代に合わせてパイプか tcp かなあ

Windows でしか使わないならならcom使うのも簡便

179 名前:デフォルトの名無しさん [2018/04/16(月) 01:39:01.50 .net]
共有メモリだとリングバッファとか排他とか自分で作り込まなきゃいけんやろ
ソケットならそのへん考えなくてええやん



180 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 02:21:40.05 ID:kGNRvKds0.net]
windowsはファイルマッピングオブジェクトでしょ
パイプでさえSYNCHRONIZE特権指定できないゴミなんだから

181 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 03:12:35.45 ID:HsbFINqV0.net]
標準入出力最強説

182 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 06:43:39.39 ID:kK8liqj6M.net]
unix domain socket なんて使ったことないな
名前空間としてファイルの指定がいるし将来違うマシン間で動作させる時に変更量が多いしtcp/udpに比べてデメリット多くね?

183 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 07:06:03.32 ID:irvwqMpDa.net]
>>173,174
共有メモリは例えば/dev/shmのRAM領域にあるメモリマップですよね

同一PC内のソケットのボーレートってほぼクロック数なんですか?
同一PC内の通信であったとしてもネットワークドライバの実装するプロトコルスタックを経由してしまうので、
その分のオーバーヘッドの分だけ速度が落ちる、という解釈ですが

184 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 07:17:01.48 ID:irvwqMpDa.net]
iperfとかで同一PC内で速度測ったらどれくらいいきます?
(1Gbpsな気が)

185 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 08:09:11.43 ID:TXxoP4/a0.net]
>>179
ドロップしないから楽なんだよ
デメリットは仰る通り

186 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 08:09:52.14 ID:TXxoP4/a0.net]
>>180
あなた知識が色々おかしいので何も考えずに教えられたとおりにした方が良いですよ

187 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 12:07:30.90 ID:1SlhlQTu0.net]
昨日の安全確保支援士の試験にC++が出ていたが、メンバ変数にm_が付いていた。
さすがにポインタのpなどは付いていないが、ちょっと意外だった。

188 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 18:56:27.96 ID:aeexu7jXa.net]
>>183
同一PCのTCP通信はどういう経路通るの?

189 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 20:00:43.80 ID:Iff3OzVTM.net]
クライアント→OS→サーバかその逆



190 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 17:50:44.77 ID:YRsoLN600.net]
未だにシステムハンガリアンなやつみたいに変なのとも
うまく付き合うのがC++使いのスキルの1つだかんね

191 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 00:38:34.88 ID:1Mo3YyI90.net]
↑ボゾビット






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

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

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