次スレを立てる時は本文の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
リファクタリングの機会を設けないと秘伝が負債になるのがこの業界
リファクタリングの機会を設けないと秘伝が負債になるのがこの業界
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- 【福岡】ミカンの木に逆さ吊りになっていた高齢の男性が死亡 [雑用縞工作★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★5 [BFU★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- コンビニ店長、ついにキレる「なんであなた達にトイレを貸さないといけないんですか?私達はトイレレンタル業ではありません」 [329329848]
- (´・ω・`)おはよ
- 🏡
- 【高市悲報】大暴落 [115996789]
- 【速報】東京から人が消える [329329848]
- 【愛国者悲報】山上母、ガチクズだった...大学に行きたい娘に「お金ないから自分でどうにかしなさい。専門学校行けば?」と突き放す [856698234]
