次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part130
http://mevius.2ch.net/test/read.cgi/tech/1490917669/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
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
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part131 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b96-ov1m)
2017/07/29(土) 11:28:28.97ID:o30VDF4g0674デフォルトの名無しさん (ワッチョイ 2309-g9be)
2017/09/10(日) 00:32:56.15ID:8Jhjgi9Q0675デフォルトの名無しさん (ワッチョイ 17e4-QyhX)
2017/09/10(日) 00:56:23.48ID:ldnMOHDz0 デバッガのフロントエンドは自作するもの
676デフォルトの名無しさん (オッペケ Sr3b-Pw16)
2017/09/10(日) 00:57:46.72ID:9qoMDsB9r 完全な解決策も規格の規定も知っているが、
再現する最小限のコードにしてから他人に見せる知能も持ち合わせていない者には時間の無駄
再現する最小限のコードにしてから他人に見せる知能も持ち合わせていない者には時間の無駄
677デフォルトの名無しさん (ワッチョイ fa4b-ZVix)
2017/09/10(日) 02:34:17.64ID:8GGB49VK0 非修飾名の探索の問題だから発想を変えて明示的修飾で回避すればいいって話?
https://ideone.com/YTnOF2
https://ideone.com/YTnOF2
678デフォルトの名無しさん (ワッチョイ 174d-x/0H)
2017/09/10(日) 06:00:54.71ID:Jp2o0TJ00 templateの使い方を完全に勘違いしてやがる。
679デフォルトの名無しさん (ワッチョイ 2309-g9be)
2017/09/10(日) 07:35:26.76ID:8Jhjgi9Q0 折衷案色々あるなぁ、感心する。
>>676
別に個人のコードでどこかに迷惑かけてるわけじゃないし、この程度のコードも読めない方が問題。
それに高慢なお方は最初から相手にしてない。マウントしてほしくてやってるんじゃないんだよ。
>>676
別に個人のコードでどこかに迷惑かけてるわけじゃないし、この程度のコードも読めない方が問題。
それに高慢なお方は最初から相手にしてない。マウントしてほしくてやってるんじゃないんだよ。
680デフォルトの名無しさん (ワッチョイ 2309-g9be)
2017/09/10(日) 07:49:26.32ID:8Jhjgi9Q0681デフォルトの名無しさん (ワッチョイ 9a9f-KUeS)
2017/09/10(日) 10:50:41.00ID:Ch3ZHKVB0 プロパティー実装例か…
しかしまぁクソ面倒だ罠
しかしまぁクソ面倒だ罠
682はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5a15-xkdj)
2017/09/11(月) 21:22:51.45ID:+dEH7rh50 auto で受けるとおかしげなことになるんちゃう?
683デフォルトの名無しさん (ワッチョイ 174d-x/0H)
2017/09/12(火) 01:44:38.63ID:uA5S/Coo0 馬鹿に触らせるなテンプレートって昔から言うしな。
フレームワークのテンプレートライブラリ提供する側だけが使っていいんだよ。
フレームワークのテンプレートライブラリ提供する側だけが使っていいんだよ。
684デフォルトの名無しさん (ワッチョイ 17e4-QyhX)
2017/09/12(火) 08:52:24.85ID:n2tkiU0+0 テンプレートはSTLやboostのまねをしていれば下手なことにはならないはずだが
685デフォルトの名無しさん (アウアウカー Sa43-l0Z7)
2017/09/12(火) 08:56:45.99ID:aShF6cdKa 真似するだけでも、それなりのスキルが必要だ
686デフォルトの名無しさん (ワッチョイ e311-xkdj)
2017/09/12(火) 09:35:13.31ID:M9yu8us30 何故そういうコードになっているかを理解せずに猿真似して意味があるかどうかはわからんけど
autoで受けるとおかしなことになるのは、キャストや代入で望む結果を得る方法(expression templateなど)全部そう
暗黙のキャストでなく関数呼び出しを強制すればautoでも大丈夫だけど
autoで受けるとおかしなことになるのは、キャストや代入で望む結果を得る方法(expression templateなど)全部そう
暗黙のキャストでなく関数呼び出しを強制すればautoでも大丈夫だけど
687デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
2017/09/12(火) 10:11:33.04ID:CGKPtYms0 > 馬鹿に触らせるなテンプレートって昔から言うしな。
自分が触りたくないのはわかったから
自分が触りたくないのはわかったから
688デフォルトの名無しさん (ワッチョイ 2309-g9be)
2017/09/12(火) 19:29:46.28ID:mgCIj6GX0 >>682
コピコン切ってあるから大丈夫だと思う。あとは推論性能。
コピコン切ってあるから大丈夫だと思う。あとは推論性能。
689デフォルトの名無しさん (ワッチョイ 3b00-h2R5)
2017/09/12(火) 19:43:33.31ID:8IhLGzTX0 コピコン
690デフォルトの名無しさん (ワッチョイ 2309-g9be)
2017/09/12(火) 20:29:35.11ID:mgCIj6GX0 コピーコンストラクタ!
691はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5a15-xkdj)
2017/09/12(火) 22:54:11.94ID:cQiNwo4o0 >>688
あ、なるほど、状況を勘違いしてた。
C++17 からは RVO が使える場合は常に RVO で処理する (従来は「してもよい」というオプショナルな動作) ことと、
そのときはコピー (ムーブ) コンストラクタが無くても良いというルールが念頭にあったのだけれど、
この場合は RVO は関係なかった。 スマソ
あ、なるほど、状況を勘違いしてた。
C++17 からは RVO が使える場合は常に RVO で処理する (従来は「してもよい」というオプショナルな動作) ことと、
そのときはコピー (ムーブ) コンストラクタが無くても良いというルールが念頭にあったのだけれど、
この場合は RVO は関係なかった。 スマソ
692デフォルトの名無しさん (オッペケ Sr3b-Pw16)
2017/09/12(火) 23:35:09.46ID:q3PtGkEdr >C++17 からは RVO が使える場合は常に RVO で処理する
ほうほう、それは本当ですか
ほうほう、それは本当ですか
693はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1315-SGtB)
2017/09/14(木) 16:51:14.81ID:HER/jB+d0 そうです。
694デフォルトの名無しさん (オッペケ Sr4d-sxPP)
2017/09/14(木) 17:39:29.28ID:7On5vAcFr695デフォルトの名無しさん (ワッチョイ ab1c-/PGn)
2017/09/14(木) 22:59:53.42ID:AfykdPhZ0 いい流れだ
696デフォルトの名無しさん (ワッチョイ c1a6-PzL5)
2017/09/15(金) 15:29:03.53ID:zUPCfesd0 "clacla.h"
class Clacla {
void func1();
void func2();
void func3();
};
"clacla.cpp" //実装部
クラスClacla くくり { <-ここ
void func1() { printf( "1" ); }
void func2() { printf( "2" ); }
void func3() { printf( "3" ); }
};
のように関数の実装時にClacla::を省略する方法ってあるでしょうか?
class Clacla {
void func1();
void func2();
void func3();
};
"clacla.cpp" //実装部
クラスClacla くくり { <-ここ
void func1() { printf( "1" ); }
void func2() { printf( "2" ); }
void func3() { printf( "3" ); }
};
のように関数の実装時にClacla::を省略する方法ってあるでしょうか?
697はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1315-SGtB)
2017/09/15(金) 15:33:45.29ID:leF15WXE0 >>694
最適化が有効なら C++17 であろうがなかろうが clang なら RVO が効くはずだけど、 u.p の値は null になっちゃうな。
RVO がどうこうじゃなくて this の挙動に関するなんか変なルールが適用されてるとかかも?
最適化が有効なら C++17 であろうがなかろうが clang なら RVO が効くはずだけど、 u.p の値は null になっちゃうな。
RVO がどうこうじゃなくて this の挙動に関するなんか変なルールが適用されてるとかかも?
698片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdb3-dc9P)
2017/09/15(金) 16:07:51.71ID:RQr5TBB1d >>696
クラス内部にインライン関数を埋め込む方法しかない。
クラス内部にインライン関数を埋め込む方法しかない。
699696 (ワッチョイ c1a6-PzL5)
2017/09/15(金) 16:35:44.21ID:zUPCfesd0 >698
やっぱり無いですよね。
ありがとう。
やっぱり無いですよね。
ありがとう。
700デフォルトの名無しさん (オッペケ Sr4d-sxPP)
2017/09/15(金) 21:02:35.06ID:86K7wrSvr >>697
いやだからISO/IEC DIS 14882:2017 15.2/p3の規定により常にRVOが働くわけではないのではないかと申しているのですよ
ついでにu.pがnullptrになることはない
いやだからISO/IEC DIS 14882:2017 15.2/p3の規定により常にRVOが働くわけではないのではないかと申しているのですよ
ついでにu.pがnullptrになることはない
701デフォルトの名無しさん (ワッチョイ 93c5-+NpA)
2017/09/15(金) 21:24:40.19ID:xDlOGQNS0 実にC++相談室らしい流れ
702デフォルトの名無しさん (ワッチョイ 59e4-HfMd)
2017/09/15(金) 21:27:27.94ID:5X/IRSU20 右辺値参照の暗黙適用は例外の処理で不都合があるよね
元の値をTmpにコピっといて例外発生で書き戻すにしても
関数A処理内で呼び出した関数Bからの例外をAのユーザコードでは完スルーなのに
コンパイラコードではコッソリ捕まえて書き戻す必要が有る
そんときロックでも掛かってたらどーすんのよと
呼び出し繋がりを横断的に管理要するとんでもないコスト増なんじゃね?
元の値をTmpにコピっといて例外発生で書き戻すにしても
関数A処理内で呼び出した関数Bからの例外をAのユーザコードでは完スルーなのに
コンパイラコードではコッソリ捕まえて書き戻す必要が有る
そんときロックでも掛かってたらどーすんのよと
呼び出し繋がりを横断的に管理要するとんでもないコスト増なんじゃね?
703デフォルトの名無しさん (ワッチョイ 93c5-+NpA)
2017/09/15(金) 21:36:23.16ID:xDlOGQNS0 Tmpのアドレスを関数B(およびその先の関数)が知る可能性がコンパイラから見て排除できない限り
関数Aから関数Bを呼び出す前にTmpは元の値の完コピーにならざるおえないのでは…
(そうでなければ副作用のある関数を安全にコンパイルできない&安心して書けない
さらにロックに入るときと出るときは上と同じ理由で結果的に完コピーになる上に、
まともなOSならメモリバリアまで手当てしてくれるんじゃ…
関数Aから関数Bを呼び出す前にTmpは元の値の完コピーにならざるおえないのでは…
(そうでなければ副作用のある関数を安全にコンパイルできない&安心して書けない
さらにロックに入るときと出るときは上と同じ理由で結果的に完コピーになる上に、
まともなOSならメモリバリアまで手当てしてくれるんじゃ…
704デフォルトの名無しさん (ワッチョイ 93c5-+NpA)
2017/09/15(金) 21:42:30.18ID:xDlOGQNS0 つまり右辺値参照の暗黙適用が効力を持つのはスゲー広範にインライン展開されるような場合
(当然いかなるOSのAPIやシステムコール類の呼び出しも含まない
「だけ」
であって、通常のプログラマーにはあんまありがたみがはっきりしない仕様
※ 個人の感想です
(当然いかなるOSのAPIやシステムコール類の呼び出しも含まない
「だけ」
であって、通常のプログラマーにはあんまありがたみがはっきりしない仕様
※ 個人の感想です
705デフォルトの名無しさん (スッップ Sdb3-+ReX)
2017/09/15(金) 22:02:45.85ID:1aOT1P+6d コンパイラに頼らないで、素直にパラメーターの参照にしよう
706はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1315-SGtB)
2017/09/15(金) 22:04:08.03ID:leF15WXE0707デフォルトの名無しさん (ワッチョイ 59e4-HfMd)
2017/09/15(金) 22:08:16.65ID:5X/IRSU20 いや noexcept 付きを呼ぶ場合も有難味あると思うよ
C++は const祭りに noexcept祭り追加でござる
特殊化も爆発
C++は const祭りに noexcept祭り追加でござる
特殊化も爆発
708デフォルトの名無しさん (オッペケ Sr4d-sxPP)
2017/09/15(金) 22:34:11.14ID:1joZngjnr709デフォルトの名無しさん (ワッチョイ 5ba6-sxPP)
2017/09/16(土) 11:22:55.52ID:u7cVvkyR0 forward祭り
710デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 10:24:11.11ID:lVEmBRA9d tcp/ipの勉強のためにC++で何か作れば勉強になるかな?って思ってるのだけど
こういうものを作れば勉強になるよってものある??
パケットの動きだったり階層の考え方だったりを学びたい
こういうものを作れば勉強になるよってものある??
パケットの動きだったり階層の考え方だったりを学びたい
711デフォルトの名無しさん (ドコグロ MM9d-BsvU)
2017/09/18(月) 10:40:29.87ID:U79GLBVsM >>710
TCP/IPの勉強ならWireSharkの使い方覚えた方が早いかも
その上のプロトコルレベルなら勉強したいプロトコルの簡単なクライアントから始めればいいと思う
ちなみに俺はNetNewsに流れるむふふ画像を取り込みたかったのでnntpのクライアントをperlで組んで勉強した
TCP/IPの勉強ならWireSharkの使い方覚えた方が早いかも
その上のプロトコルレベルなら勉強したいプロトコルの簡単なクライアントから始めればいいと思う
ちなみに俺はNetNewsに流れるむふふ画像を取り込みたかったのでnntpのクライアントをperlで組んで勉強した
712デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 11:05:46.29ID:lVEmBRA9d >>711
プロトコルレベルの勉強をしたい
そうなるとhttpサーバを立てることになるのかな?
そういう場合は簡単なhttpサーバとクライアントを作成すれば良いのかね?
それで通信しあってwiresharkで中身を見てtcpだったりhttpだったりを見るべき?
プロトコルレベルの勉強をしたい
そうなるとhttpサーバを立てることになるのかな?
そういう場合は簡単なhttpサーバとクライアントを作成すれば良いのかね?
それで通信しあってwiresharkで中身を見てtcpだったりhttpだったりを見るべき?
713デフォルトの名無しさん (ワッチョイ 939f-0QkJ)
2017/09/18(月) 11:39:07.40ID:9mrqYCJU0 おれは一昔前、深夜ボリュームでかくする姉貴のPCが煩くてTCP通信でマスターボリューム弄るサーバー&クライアント作ってコッソリ仕込んでコントロールしてたな。
まぁ、やってやるぞというモチベーションは大事だとおもうよ。
ガンバってね。
まぁ、やってやるぞというモチベーションは大事だとおもうよ。
ガンバってね。
714デフォルトの名無しさん (オッペケ Sr4d-2/pv)
2017/09/18(月) 11:41:39.15ID:qrTqFTlir >>713
それ仕込んでるとき超ワクワクしそう
それ仕込んでるとき超ワクワクしそう
715デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 11:43:19.16ID:lVEmBRA9d >>713
姉貴のパソコンにサーバプログラム常駐させる
そいつがポートXXXで待ち構える
同じ家なのでネットワーク帯は同じで
自分のpcからポートXXXにメッセージ送信する
姉貴のサーバプログラムが受け取ってボリューム下げる処理をする
こんなことしてたってことかね?
姉貴のパソコンにサーバプログラム常駐させる
そいつがポートXXXで待ち構える
同じ家なのでネットワーク帯は同じで
自分のpcからポートXXXにメッセージ送信する
姉貴のサーバプログラムが受け取ってボリューム下げる処理をする
こんなことしてたってことかね?
716デフォルトの名無しさん (ワッチョイ 939f-0QkJ)
2017/09/18(月) 12:01:08.52ID:9mrqYCJU0 >>715
まぁ大体そんな感じなんだが、急に音量小さくすると即効でばれるので、まず、姉貴PCの音量を取得するのが第一だな。
そこからスライダーでボリューム下げていった値をサーバーに順次送信しサーバープログラムがその値に応じて音量を徐々にフェードコントロールするといった具合だな。
まぁ大体そんな感じなんだが、急に音量小さくすると即効でばれるので、まず、姉貴PCの音量を取得するのが第一だな。
そこからスライダーでボリューム下げていった値をサーバーに順次送信しサーバープログラムがその値に応じて音量を徐々にフェードコントロールするといった具合だな。
717デフォルトの名無しさん (オッペケ Sr4d-sxPP)
2017/09/18(月) 12:08:20.13ID:nt0hX0ohr718デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 12:10:35.92ID:lVEmBRA9d719デフォルトの名無しさん (ワッチョイ 939f-0QkJ)
2017/09/18(月) 12:15:30.74ID:9mrqYCJU0720デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 12:57:21.32ID:lVEmBRA9d >>719
相互にsend recvしてるだけってことかな
相互にsend recvしてるだけってことかな
721デフォルトの名無しさん (ドコグロ MM9d-BsvU)
2017/09/18(月) 13:48:18.24ID:U79GLBVsM >>712
サーバーよりクライアントの方が簡単だからサーバーは適当な奴持ってきて簡単なクライアントを作るところから始めればいいと思う
サーバーよりクライアントの方が簡単だからサーバーは適当な奴持ってきて簡単なクライアントを作るところから始めればいいと思う
722デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 14:27:41.23ID:lVEmBRA9d723デフォルトの名無しさん (ワッチョイ 9311-BsvU)
2017/09/18(月) 15:08:42.19ID:eqWC6Q8G0724デフォルトの名無しさん (ワッチョイ 93f0-o7xi)
2017/09/18(月) 17:35:56.07ID:UWkHQHZA0 そもそも、TCP/IPの練習にC++は妥当なのか?
725デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 17:55:46.62ID:lVEmBRA9d726デフォルトの名無しさん (ワッチョイ 8109-VUiJ)
2017/09/18(月) 18:29:11.61ID:Of28e9o20 ネットワークライブラリは現在策定中だっけ。
727デフォルトの名無しさん (ワッチョイ 2be3-SGtB)
2017/09/18(月) 18:34:59.92ID:HogVByKA0728デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/18(月) 20:33:20.53ID:lVEmBRA9d >>727
今読み始めたけど丁寧でわかりやすい
今読み始めたけど丁寧でわかりやすい
729デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/19(火) 10:23:20.37ID:mIuFgC1Fd 初歩の初歩の初歩の質問なんだけど
あるPCにポートXXを口とするサーバソフトを同時に二つ立てることはできないよね?
1つめはXXを使うとしてその後にたてられた2つめはどうなる?
(スレチっぽくなってますがよろしくです...)
あるPCにポートXXを口とするサーバソフトを同時に二つ立てることはできないよね?
1つめはXXを使うとしてその後にたてられた2つめはどうなる?
(スレチっぽくなってますがよろしくです...)
730デフォルトの名無しさん (ワッチョイ 2be3-SGtB)
2017/09/19(火) 10:38:02.75ID:S6233VLa0 出来ます
サーバー側はリクエストに応じて複数のプロセスを起動し、
同じポート番号を使って複数のプロセスが受け答えします
各プロセスはそれぞれで生成したソケットを使ってクライアントとやり取りします
サーバー側はリクエストに応じて複数のプロセスを起動し、
同じポート番号を使って複数のプロセスが受け答えします
各プロセスはそれぞれで生成したソケットを使ってクライアントとやり取りします
731デフォルトの名無しさん (スップ Sdf3-1/aj)
2017/09/19(火) 10:57:49.02ID:mIuFgC1Fd >>730
それってプログラム内でforkして子プロセスを作る場合の話です?
サーバソフトAとサーバソフトBの両立ができたとすると
ポートXX使用します!ってのはどこでどちらを使うと判断するのでしょうか...
それってプログラム内でforkして子プロセスを作る場合の話です?
サーバソフトAとサーバソフトBの両立ができたとすると
ポートXX使用します!ってのはどこでどちらを使うと判断するのでしょうか...
732デフォルトの名無しさん (ワッチョイ 936f-hIIm)
2017/09/19(火) 13:04:43.06ID:TdcUa1CK0 特定ポートでlistenするプロセスは一つだけです。
複数のプロセスで共用は出来ません。
複数のプロセスで共用は出来ません。
733デフォルトの名無しさん (ドコグロ MM9d-BsvU)
2017/09/19(火) 17:39:27.17ID:5tfXl8chM >>729
LANポートが複数あればできるし、LANポートがひとつしかなくてもIPアドレスを複数割り当てられるなら可能
LANポートが複数あればできるし、LANポートがひとつしかなくてもIPアドレスを複数割り当てられるなら可能
734デフォルトの名無しさん (ワッチョイ 016f-V8Sm)
2017/09/19(火) 18:44:47.92ID:PcYxkZC90735デフォルトの名無しさん (ワンミングク MMd3-MK5f)
2017/09/19(火) 18:49:41.83ID:Poc3cQP+M しかも間違ってるという
736デフォルトの名無しさん (ドコグロ MM9d-BsvU)
2017/09/19(火) 18:57:54.46ID:5tfXl8chM737デフォルトの名無しさん (オッペケ Sr4d-sxPP)
2017/09/19(火) 19:48:42.76ID:SHe+skknr >>736
二つ前のレスくらい読んでほしいものだ
二つ前のレスくらい読んでほしいものだ
738デフォルトの名無しさん (ワッチョイ ab1c-/PGn)
2017/09/19(火) 20:12:29.29ID:4ZFv917O0 C++98ではできない
C++11以後できるようになった
だろ、通信は本質的にマルチタスクだ
C++11以後できるようになった
だろ、通信は本質的にマルチタスクだ
739デフォルトの名無しさん (ワッチョイ 994d-o7xi)
2017/09/20(水) 00:14:27.26ID:zNeStlMI0 なにをいってるかよくわからんがすごい自信だ。
740デフォルトの名無しさん (ワッチョイ 8109-VUiJ)
2017/09/20(水) 01:48:22.84ID:E2xZjesx0 規格外のライブラリならほぼ何でもありといえばありだけどさ。
ライブラリ自信はまだ策定中でしょ。
ライブラリ自信はまだ策定中でしょ。
741デフォルトの名無しさん (ワッチョイ 6123-pFfB)
2017/09/20(水) 03:12:29.17ID:E3lPvo/Y0 bind()する時のローカルのIPアドレスを別々にすれば同一ポートで別々のサーバプログラムって動かないの?
742デフォルトの名無しさん (ワッチョイ 016f-V8Sm)
2017/09/20(水) 04:49:07.58ID:uOAr6bd90743デフォルトの名無しさん (ドコグロ MM65-BsvU)
2017/09/20(水) 06:46:32.53ID:k3KNfXHnM744742 (ワッチョイ 016f-V8Sm)
2017/09/20(水) 10:56:07.53ID:uOAr6bd90 自己訂正
>まさかその生成されたソケットがサーバーと同じポート番号を持つとか思ってないよな?
あはは、これは俺の勘違いだったわ
acceptで返されるソケットはlistenポートと同じポート番号を持っている
>まさかその生成されたソケットがサーバーと同じポート番号を持つとか思ってないよな?
あはは、これは俺の勘違いだったわ
acceptで返されるソケットはlistenポートと同じポート番号を持っている
745デフォルトの名無しさん (ワッチョイ 0665-hoCt)
2017/09/21(木) 05:09:49.50ID:t8iqXrAz0 質問です。
{ 10/*%*/ } = { a,b,c };
というのは、
a = 10%
b = 10%
c = 10%
なのでしょうか?それとも、
a+b+c = 10%
なのでしょうか?
{ 10/*%*/ } = { a,b,c };
というのは、
a = 10%
b = 10%
c = 10%
なのでしょうか?それとも、
a+b+c = 10%
なのでしょうか?
746デフォルトの名無しさん (ワッチョイ de23-KbB0)
2017/09/21(木) 05:48:27.92ID:eSaSp7RC0 C++を習得するのに莫大な時間を費やしました。
C++のプロフェッショナルなプログラマーになりたかった。
なのに、ハード系の知識が無いと言う理由で、もらう仕事はVB.NET、C#.NET系ばかりでした。
C++のプロフェッショナルなプログラマーになりたかった。
なのに、ハード系の知識が無いと言う理由で、もらう仕事はVB.NET、C#.NET系ばかりでした。
747デフォルトの名無しさん (ワッチョイ de23-KbB0)
2017/09/21(木) 05:51:26.56ID:eSaSp7RC0 質問を書くのを忘れやんした。
C++の仕事ってハード系、通信系、制御系以外、通常業務のシステム開発はないんでしょうか?
C++の仕事ってハード系、通信系、制御系以外、通常業務のシステム開発はないんでしょうか?
748デフォルトの名無しさん (ワッチョイ 8a9f-Dwg9)
2017/09/21(木) 06:00:29.19ID:Bo0/1phe0 ポート重複で同じアドレスでBananaサーバーみたいなラックマウントサーバーの仕組みってあれは一つのサーバーがlistenで待って接続してきたクライアントの処理を複数の子サーバーに割り振っているだけなのか?
749デフォルトの名無しさん (オッペケ Sra3-u5jE)
2017/09/21(木) 08:18:42.29ID:E1HbcZFyr struct unko { unko()=delete; };
int main() { unko u{}; }
何故コンパイルが通るのかを理解するのに半日かかった
やはりこの言語はクソ
int main() { unko u{}; }
何故コンパイルが通るのかを理解するのに半日かかった
やはりこの言語はクソ
750デフォルトの名無しさん (ワッチョイ fa2e-hoCt)
2017/09/21(木) 08:46:59.52ID:iktVOuYO0751デフォルトの名無しさん (ワッチョイ 06cd-kYwA)
2017/09/21(木) 10:13:00.29ID:JjsSVLys0 >>747
C++はC#とかでできないことがあるときに仕方なく使うイメージがある
C++はC#とかでできないことがあるときに仕方なく使うイメージがある
752デフォルトの名無しさん (オッペケ Sra3-mUFf)
2017/09/21(木) 11:36:34.81ID:p6kNBh4ir753デフォルトの名無しさん (ワッチョイ fa2e-hoCt)
2017/09/21(木) 12:35:00.95ID:iktVOuYO0 C#の方が楽なところが特に無いのでC#という選択肢が無い
754デフォルトの名無しさん (ワッチョイ 8a4b-nCCx)
2017/09/21(木) 13:21:38.51ID:TbHBi0+x0 >>750
お、おう!
お、おう!
756デフォルトの名無しさん (オッペケ Sra3-u5jE)
2017/09/21(木) 17:36:23.55ID:E1HbcZFyr >>752
規格によると unko u{}; は
8.5/p17『If the initializer is a (non-parenthesized) braced-init-list, the object or reference is list-initialized』によりリスト初期化される
リスト初期化は8.5.4/p3『If T is an aggregate, aggregate initialization is performed』
に該当するのでコンストラクターが呼ばれずにaggregate初期化される。
なおaggregateの定義は8.5.1/p1により『array or a class (Clause 9) with no user-provided constructors (12.1), no (略)』
ここで8.4.1/p1により「=delete」は関数本体だが、
8.4.2/p5によりuser providedではないと見なされている(たぶん)
規格によると unko u{}; は
8.5/p17『If the initializer is a (non-parenthesized) braced-init-list, the object or reference is list-initialized』によりリスト初期化される
リスト初期化は8.5.4/p3『If T is an aggregate, aggregate initialization is performed』
に該当するのでコンストラクターが呼ばれずにaggregate初期化される。
なおaggregateの定義は8.5.1/p1により『array or a class (Clause 9) with no user-provided constructors (12.1), no (略)』
ここで8.4.1/p1により「=delete」は関数本体だが、
8.4.2/p5によりuser providedではないと見なされている(たぶん)
757デフォルトの名無しさん (ドコグロ MMc2-gXon)
2017/09/21(木) 22:11:37.04ID:VzX3yrPwM >>748
パケットレベルで振り分けたり、プロキシとして動作したり色々
ロードバランサ 仕組み
とかでググるがよろし
あとそこまで行くと完全にスレチなので
ネットワーク
http://mevius.2ch.net/hack/
とかに行っとくれ
パケットレベルで振り分けたり、プロキシとして動作したり色々
ロードバランサ 仕組み
とかでググるがよろし
あとそこまで行くと完全にスレチなので
ネットワーク
http://mevius.2ch.net/hack/
とかに行っとくれ
758デフォルトの名無しさん (ワッチョイ 8a9f-Dwg9)
2017/09/21(木) 23:20:34.43ID:Bo0/1phe0 ほほう
759デフォルトの名無しさん (ワッチョイ 0f23-Dc1X)
2017/09/23(土) 11:36:40.13ID:2CJ5RW/30 >>747
20年前は普通にあった、ていうかそれしか方法がなかったが
今はもっと楽な方法があるのでほぼ無くなった
僅かな例外はパフォーマンスを求めるようなプログラムを作る場合だが
それでもライブラリなどの表から見えない部分の作成に限られる
20年前は普通にあった、ていうかそれしか方法がなかったが
今はもっと楽な方法があるのでほぼ無くなった
僅かな例外はパフォーマンスを求めるようなプログラムを作る場合だが
それでもライブラリなどの表から見えない部分の作成に限られる
760デフォルトの名無しさん (KR 0Hc2-GWmJ)
2017/09/23(土) 21:53:53.16ID:DdQqqOWmH 各添字が 1 から X まで動く多次元配列を一次元で
A[i + X*j + X*X*k]
のように表しているのですが、この多次元配列の各添字を入れ替える操作を頻繁に行うので、関数にしたいです。
どのようにするのが良いでしょうか。
たとえば
f(A, B, 2, 3, 1);
のように引数をとって B という配列に
B[j + X*k + X*X*i] = A[i + X*j + X*X*k]
と要素を入れたいです。
「2, 3, 1」を関数の中で解釈する方法も分からなくて困っています。
A[i + X*j + X*X*k]
のように表しているのですが、この多次元配列の各添字を入れ替える操作を頻繁に行うので、関数にしたいです。
どのようにするのが良いでしょうか。
たとえば
f(A, B, 2, 3, 1);
のように引数をとって B という配列に
B[j + X*k + X*X*i] = A[i + X*j + X*X*k]
と要素を入れたいです。
「2, 3, 1」を関数の中で解釈する方法も分からなくて困っています。
761デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 22:14:21.88ID:dWsmcDp10 >>760
その例だと A[X][X][X] の3次元相当だけど3次元限定でいいの?
その例だと A[X][X][X] の3次元相当だけど3次元限定でいいの?
762デフォルトの名無しさん (ワッチョイ faa6-u5jE)
2017/09/23(土) 22:34:01.05ID:qTNnvPi+0 https://ideone.com/x9PCnt
こんなんでええやろ
こんなんでええやろ
763デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 22:36:10.87ID:dWsmcDp10 >>760
こういう解釈でいいかな?
template <typename T, std::size_t X>
void fillA2B(T (&A)[X*X*X], T (&B)[X*X*X], int ax1, int ax2, int ax3)
{
int i, j, k;
int& ii = (ax1==1)? i: ( (ax1==2)? j: k );
int& jj = (ax2==1)? i: ( (ax2==2)? j: k );
int& kk = (ax3==1)? i: ( (ax3==2)? j: k );
for ( i = 0 ; i < X ; ++i )
for ( j = 0 ; j < X ; ++j )
for ( k = 0 ; k < X ; ++k )
B[ii + X * jj + X * X * kk] = A[i + X * j + X * X * k];
}
int main()
{
const int N = 2;
int A[N*N*N], B[N*N*N];
int n{0};
for ( int a = 0 ; a < N*N*N; ++a )
A[a] = n++;
fillA2B<int, N>(A, B, 1, 2, 3);
fillA2B<int, N>(A, B, 2, 3, 1);
fillA2B<int, N>(A, B, 3, 1, 2);
return 0;
}
こういう解釈でいいかな?
template <typename T, std::size_t X>
void fillA2B(T (&A)[X*X*X], T (&B)[X*X*X], int ax1, int ax2, int ax3)
{
int i, j, k;
int& ii = (ax1==1)? i: ( (ax1==2)? j: k );
int& jj = (ax2==1)? i: ( (ax2==2)? j: k );
int& kk = (ax3==1)? i: ( (ax3==2)? j: k );
for ( i = 0 ; i < X ; ++i )
for ( j = 0 ; j < X ; ++j )
for ( k = 0 ; k < X ; ++k )
B[ii + X * jj + X * X * kk] = A[i + X * j + X * X * k];
}
int main()
{
const int N = 2;
int A[N*N*N], B[N*N*N];
int n{0};
for ( int a = 0 ; a < N*N*N; ++a )
A[a] = n++;
fillA2B<int, N>(A, B, 1, 2, 3);
fillA2B<int, N>(A, B, 2, 3, 1);
fillA2B<int, N>(A, B, 3, 1, 2);
return 0;
}
764デフォルトの名無しさん (ワッチョイ 8a9f-PvnN)
2017/09/23(土) 22:38:24.75ID:cFmXNXGU0 左辺が j, k ,i 右辺が i, j, k のようだが
765デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 22:45:31.08ID:dWsmcDp10 あ、一気に全要素にFillしなくてもいいのかな?
766デフォルトの名無しさん (ワッチョイ 0af0-PvnN)
2017/09/24(日) 00:03:03.61ID:7FyCscw80 ……素直に3次元の配列にすりゃあいいんじゃねえのかなコレ
どーーーしても1次元にしなきゃいけない重大な理由が背後に控えてんのかな?
どーーーしても1次元にしなきゃいけない重大な理由が背後に控えてんのかな?
767デフォルトの名無しさん (スッップ Sdaa-pgy8)
2017/09/24(日) 00:08:42.25ID:xnpjieyid 普通にメモリ確保したら1次元だからな
768デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 00:21:25.13ID:J5lzydll0 B[ii][jj][kk] = A[i][j][k];
でも通るな
でも通るな
769デフォルトの名無しさん (KR 0Hc2-GWmJ)
2017/09/24(日) 00:25:12.68ID:QX+6yKIgH770デフォルトの名無しさん (ワッチョイ 8a4b-nCCx)
2017/09/24(日) 02:35:34.07ID:0uAENq5F0771デフォルトの名無しさん (オッペケ Sra3-GWmJ)
2017/09/24(日) 17:29:12.46ID:vw1eQBGxr772デフォルトの名無しさん (ワッチョイ 8e3d-GWmJ)
2017/09/25(月) 00:05:50.55ID:KE0eJu6Z0 C++とほとんど関係ないな
773デフォルトの名無しさん (ワッチョイ de1c-iatd)
2017/09/25(月) 10:20:39.11ID:c/fcx1bx0 任意個数の引数って、まさか省略記号と可変個数実引数では・・・
と思ったらモロじゃねえか おいおい
このスレ的にはinitializer_listやtemplate parameter packだろ
と思ったらモロじゃねえか おいおい
このスレ的にはinitializer_listやtemplate parameter packだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 現役ドラフト発表WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 【写真】今日は刺身食べる事にした
- 俺はきっと"全部"嫌いなんだ。息づく全てが俺を苛つかせるんだ。
- 愛国者「大東亜戦争はアジア解放のための戦い」 [834922174]
