次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
https://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】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++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 12c3-4saf)
2018/08/27(月) 16:02:00.94ID:vY3QDx2y02デフォルトの名無しさん (ワッチョイ 8ac3-4saf)
2018/08/27(月) 16:03:04.41ID:vY3QDx2y0 すまんスレ番ミスった
3デフォルトの名無しさん (ワッチョイ 6698-PcWx)
2018/08/27(月) 16:03:29.14ID:H/K1FpSE0 謝って許されることじゃないね
4デフォルトの名無しさん (ワッチョイ ea34-5zXi)
2018/08/27(月) 16:22:40.23ID:oonIPXiN0 こういうヤツがプログラミングするとえらいことになる
5デフォルトの名無しさん (ワッチョイ 3aa1-WQAu)
2018/08/27(月) 16:26:27.53ID:7PWma/MO0 1 はクズ
6デフォルトの名無しさん (ワッチョイ bd93-zO5i)
2018/08/27(月) 17:22:00.81ID:TVAO+u4x0 フェイルセイフ機構として
スレッドを立てて何分間あるいはレス何個までは
立てた人に限りタイトルを修正できる、
みたいな機能があっても良いかも知れん。
あるいは事前に「これから立てるスレッドは〜の後継である」
みたいな宣言ができて、重複や番号の間違いをチェックしてくれるとか。
スレッドを立てて何分間あるいはレス何個までは
立てた人に限りタイトルを修正できる、
みたいな機能があっても良いかも知れん。
あるいは事前に「これから立てるスレッドは〜の後継である」
みたいな宣言ができて、重複や番号の間違いをチェックしてくれるとか。
7デフォルトの名無しさん (ワッチョイ 6698-PcWx)
2018/08/27(月) 17:25:07.23ID:H/K1FpSE08デフォルトの名無しさん (アウアウカー Sad5-fKBf)
2018/08/27(月) 18:21:58.03ID:xvf87VjGa 結局どうするん?
ここ使用?
ここ使用?
9デフォルトの名無しさん (ワッチョイ bd08-4dUf)
2018/08/27(月) 22:39:11.81ID:oahf+hzU0 vector<object*>* func()
{
vector<object*>* vect = new vector<object*>;
for(int i = 0; i < 10; ++i)
{
object* obj = new object;
vect->push_back(obj);
}
return vect;
}
若干うろ覚えなんですけどこんな関数があります。ポインターを収納したベクターへのポインターを返すというものです。
まず質問なんですけど、関数内でnewして確保したメモリアドレスを返すってこれあまり良くないこと……ですよね?それともよくあることでしょうか。
それともう一つ。仮にmainなりどこかでこの関数の戻り値を受け取って利用したあと、メモリ解放はどうすればよいのでしょう
例えばdelete vectだけか、それともobject*をループで回して全部にdeleteすればいいのか、それとも両方やらにゃならんのか
よろしくお願いします。
{
vector<object*>* vect = new vector<object*>;
for(int i = 0; i < 10; ++i)
{
object* obj = new object;
vect->push_back(obj);
}
return vect;
}
若干うろ覚えなんですけどこんな関数があります。ポインターを収納したベクターへのポインターを返すというものです。
まず質問なんですけど、関数内でnewして確保したメモリアドレスを返すってこれあまり良くないこと……ですよね?それともよくあることでしょうか。
それともう一つ。仮にmainなりどこかでこの関数の戻り値を受け取って利用したあと、メモリ解放はどうすればよいのでしょう
例えばdelete vectだけか、それともobject*をループで回して全部にdeleteすればいいのか、それとも両方やらにゃならんのか
よろしくお願いします。
10デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/27(月) 22:45:10.99ID:X1STgCw40 どなたか c++でのソケット通信を使った複数人が使えるチャットのサンプルコード持ってる人いませんか?
ネットで色々調べてるんですけど、tcpじゃなくてUDPのやつだったりwindowsじゃなかったりcだったり書いてあることが難し過ぎたり...
そもそも1:1のコードばかりで複数人対応のサンプルコードが見つかりませんorz
ネットで色々調べてるんですけど、tcpじゃなくてUDPのやつだったりwindowsじゃなかったりcだったり書いてあることが難し過ぎたり...
そもそも1:1のコードばかりで複数人対応のサンプルコードが見つかりませんorz
11デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/27(月) 22:46:54.38ID:X1STgCw40 複数人対応にするにあたって、複数のソケットを用意するのとselect関数が必要になると思うのですけど、selectの方はおそらく理解できています。
複数のソケットからアクセプトされるところの流れが全然分からないです。
今自分が書いてみたコードだとスタックオーバーフローというらしい現象が起こってしまってます。
複数のソケットからアクセプトされるところの流れが全然分からないです。
今自分が書いてみたコードだとスタックオーバーフローというらしい現象が起こってしまってます。
12デフォルトの名無しさん (ワッチョイ b9f2-PcWx)
2018/08/27(月) 22:47:25.25ID:CIUWIYCt0 難しくないものは存在しないとオモ
13デフォルトの名無しさん (ワッチョイ ea34-5zXi)
2018/08/27(月) 22:50:37.52ID:oonIPXiN014デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/27(月) 22:57:17.24ID:AuFamtLr015デフォルトの名無しさん (ブーイモ MM8e-my2l)
2018/08/27(月) 23:00:46.13ID:CP0MczZVM >>10-11
次の本が、似たような状況(たしかレーシングゲームだったか)のサンプルを載せていたと記憶しています
https://www.amazon.co.jp/gp/product/4774117544/
Windows の winsock も UNIX のバークレーソケットと似たようなもので、若干の修正は必要ですが、そこはネットを参考にして書きなおせる範囲だと思います
この本は初版が 1992 年頃に出たときから htons()/ntohs() が書いていない、とボロカスだったんですが、私はとっても好きだったのです…
次の本が、似たような状況(たしかレーシングゲームだったか)のサンプルを載せていたと記憶しています
https://www.amazon.co.jp/gp/product/4774117544/
Windows の winsock も UNIX のバークレーソケットと似たようなもので、若干の修正は必要ですが、そこはネットを参考にして書きなおせる範囲だと思います
この本は初版が 1992 年頃に出たときから htons()/ntohs() が書いていない、とボロカスだったんですが、私はとっても好きだったのです…
17デフォルトの名無しさん (ワッチョイ 2580-kiUO)
2018/08/27(月) 23:16:58.65ID:zX+eejgv0 listenで待ってるスレッド(もしくはプロセス、こっちならあとでfork()する)がいる
listenで待ってるスレッドやプロセスからacceptして
peerと新しいソケットで通信するスレッドを作る
もうコレで分かる
listenで待ってるスレッドやプロセスからacceptして
peerと新しいソケットで通信するスレッドを作る
もうコレで分かる
18デフォルトの名無しさん (ワッチョイ 6680-jqYf)
2018/08/27(月) 23:32:35.96ID:ba8BcfX3019デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/27(月) 23:32:44.53ID:X1STgCw40 サーバーが自分用のソケット一つと複数個のユーザー用ソケットを作成し、ユーザー 一人につき一つのソケットが割り振られるイメージでした。
20デフォルトの名無しさん (アウアウオー Sa12-fKBf)
2018/08/27(月) 23:52:05.98ID:H8sSdLfla こんな感じにpublicにもmainいてもエラーにならないのはどうしてですか?
Main.h
class CMain
{
public:
int main(int argc, char* argv[]);
};
Main.cpp
int main(int argc, char* argv[])
{
return 0;
}
Main.h
class CMain
{
public:
int main(int argc, char* argv[]);
};
Main.cpp
int main(int argc, char* argv[])
{
return 0;
}
21デフォルトの名無しさん (ワッチョイ ea5e-7kIV)
2018/08/27(月) 23:57:35.85ID:TZo7knfc0 一般関数のmainとメンバ関数Cmain::main()は別物だろうよ。
22デフォルトの名無しさん (ワッチョイ 4af9-DXeA)
2018/08/28(火) 00:05:18.35ID:04IHxsB70 >>20
名前空間が違っていて区別がつくから同じ名前のものがあっても大丈夫。
名前空間が違っていて区別がつくから同じ名前のものがあっても大丈夫。
23デフォルトの名無しさん (アウアウオー Sa12-fKBf)
2018/08/28(火) 00:18:40.52ID:wxxo3xcIa >>21,22
なるほど、それもそうですね
なるほど、それもそうですね
24デフォルトの名無しさん (ワッチョイ bd08-4dUf)
2018/08/28(火) 07:30:50.31ID:r63k0nU7025デフォルトの名無しさん (ワッチョイ bd04-4dUf)
2018/08/28(火) 07:39:23.68ID:oGnGbrSA0 スマポつかえよ!
26デフォルトの名無しさん (ワッチョイ 0a4c-OYOS)
2018/08/28(火) 07:44:24.16ID:BzDdgzNr0 上司のコードに文句言いつつデリートも知らん奴がなんか言っとる
27デフォルトの名無しさん (ワッチョイ bd04-4dUf)
2018/08/28(火) 07:49:16.32ID:oGnGbrSA0 勇んでデリートするようなコード書きたいか?
28はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5e6f-PcWx)
2018/08/28(火) 08:58:31.81ID:vCTFJ2QC0 >>24
リファクタリングの機会を設けないと秘伝が負債になるのがこの業界
リファクタリングの機会を設けないと秘伝が負債になるのがこの業界
29デフォルトの名無しさん (ワッチョイ 6680-jqYf)
2018/08/28(火) 08:59:48.56ID:TEJeUOom0 auto pointer, smart pointer ?
30デフォルトの名無しさん (ワッチョイ bd04-4dUf)
2018/08/28(火) 10:05:03.87ID:oGnGbrSA0 rip.auto_ptr.
31デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/28(火) 15:32:29.83ID:2BUW4hJo0 >>19
1:1のソケットを4つ用意すれば4人でチャットできますよね?送ったメッセージをサーバーサイドが受け取って他の3人のソケットに送るイメージです
1:1のソケットを4つ用意すれば4人でチャットできますよね?送ったメッセージをサーバーサイドが受け取って他の3人のソケットに送るイメージです
32デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/28(火) 15:45:07.84ID:FmvTK/aC0 あー、それなら合ってるね
そのままのイメージで書いてみればいける
そのままのイメージで書いてみればいける
33デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/28(火) 19:28:50.38ID:2BUW4hJo0 >>32
それぞれのソケットの中身で違うのはポートだけってことで大丈夫ですかね?
それぞれのソケットの中身で違うのはポートだけってことで大丈夫ですかね?
34デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/28(火) 19:45:32.21ID:FmvTK/aC0 まぁポートだけ、というかリスニングの処理だけ特殊とは言えるかも
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★5 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★7 [ぐれ★]
- 【速報】高市首相「つい言い過ぎた」 存立危機事態の答弁について [237216734]
- 偏差値35大臣「英語話せない」 [834922174]
- 【ネトウヨ朗報】イギリスのトラス元首相、高市有事で高市早苗の支持を表明 [603416639]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【悲報】斎藤元彦陣営のネット広報担当会社が投稿したnoteで騒然 ★950 [931948549]
